Asterwise
Server Details
Vedic astrology MCP server connecting any AI to real ephemeris calculations — natal charts, Vimshottari Dasha, yogas with BPHS citations, matchmaking with Rajju/Vedha vetoes, panchanga, KP system, Lal Kitab, and numerology. OAuth 2.1. Free sandbox tier.
- Status
- Healthy
- Uptime
- 55.2% over 38 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 103 tools
Many tools are individually well-scoped, and the 'DO NOT CONFUSE WITH' sections help clarify boundaries. However, with 103 tools there are multiple families of near-neighbors—dasha systems, compatibility formats, panchanga variants, crystal/gemstone recommenders—where selecting the wrong one is easy without deep context. The descriptions reduce but do not eliminate ambiguity.
Almost every tool follows the predictable asterwise_get_<domain>_<object> pattern, with a few semantically justified check_* and draw_* verbs. There is no casing inconsistency or mixing of conventions, and domain qualifiers like western_, tarot_, crystal_, and varshaphal_ make the surface highly navigable.
At 103 tools, this server far exceeds even the 50+ threshold and creates an overwhelming selection problem for any agent. While the covered domains are broad, the sheer number—especially with multiple dasha, compatibility, and crystal overlap families—is not well-scoped for an MCP tool set.
The tool surface is remarkably comprehensive across Vedic and Western astrology, numerology, tarot, crystals, gemstone remedies, panchanga/muhurta, and dream interpretation. Core workflows have no obvious dead ends: charts lead to dashas, transits, yogas, doshas, and remedies; tarot has catalogue, single-card, and spread tools; crystal and gemstone paths are fully layered. I find no significant missing operation within the declared esoteric domain.
Available Tools
103 toolsasterwise_check_mobile_numberMobile Number CheckARead-onlyIdempotentInspect
Digit-strips a mobile string (keeping country code digits), reduces it with the owner's name and birth date, and returns harmonic scoring plus interpretive copy.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — anchor Life Path before judging the line. AFTER: None.
INPUT CONTRACT: Formatting noise is ignored; only digits contribute. Country code digits are included in the reduction sum.
DO NOT CONFUSE WITH: asterwise_check_vehicle_number — plate digit rules, not SIM numbering. asterwise_get_business_name_analysis — letter Expression scan, not phone roots.
Full output and error contract: https://docs.asterwise.com/mcp/tools/check-mobile-number/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format. | |
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| mobile_number | Yes | Mobile number to analyse; digits only, country code optional. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. Description adds behavior beyond annotations: digit-stripping mechanics (formatting noise ignored, country code included), the combination with name/birth date, and the output nature (harmonic scoring + interpretive copy). This contextualizes the operation beyond simple read/idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded primary behavior in one sentence, followed by efficiently formatted workflow, input contract, and disambiguation sections. Zero filler; every sentence carries a distinct piece of guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (meaning return values needn't be spelled out), the description covers the workflow order, disambiguation from siblings, input contract, and references a full docs URL for the complete contract. Nothing essential is missing for an agent deciding to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds that the mobile number's country code digits are included in reduction and that formatting noise is ignored, which enriches the mobile_number parameter, but the name and date parameters are not further elaborated beyond schema. Adequate but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verb ('Digit-strips', 'reduces'), resource ('mobile string'), and unique scope ('country code digits', harmonic scoring + interpretive copy). Clearly distinguishes from vehicle number and business name analysis with explicit DO NOT CONFUSE WITH.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit WHEN to use: BEFORE asterwise_get_numerology_profile, AFTER none. Names alternatives and the distinction (vehicle plate rules, letter Expression scan). Agent can select correctly without ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_check_sade_satiSade SatiARead-onlyIdempotentInspect
Evaluates Saturn's seven-and-a-half-year Moon-sign cycle phases against natal data for the current day and returns intensity, upcoming cycles, and historical rows.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — confirm Moon sign context. AFTER: asterwise_get_gochar — broader transit canvas if needed.
INPUT CONTRACT: No explicit query date — API pins to current day. BirthData global contract applies.
DO NOT CONFUSE WITH: asterwise_get_gochar — nine-planet daily scan including sade_sati_active flag but less Sade Sati detail than this tool. asterwise_get_transits — ingress/station feed, not Moon-focused Saturn phase model.
Full output and error contract: https://docs.asterwise.com/mcp/tools/check-sade-sati/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: the API pins to the current day, there is no explicit query date, and the output includes intensity, upcoming cycles, and historical rows. It also references the full output/error contract via link.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by clearly labeled WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections. Each section earns its place, and the external documentation link avoids bloating the description with full contract details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the existing output schema, and rich annotations, the description is complete. It states the computation, the date behavior, the output contents, the recommended workflow, sibling distinctions, and points to the full contract. An agent has enough to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds some input-contract context ('No explicit query date — API pins to current day' and 'BirthData global contract applies'), but it does not meaningfully elaborate on the individual birth or response_format parameters beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: 'Evaluates Saturn's seven-and-a-half-year Moon-sign cycle phases against natal data for the current day and returns intensity, upcoming cycles, and historical rows.' It clearly distinguishes itself from asterwise_get_gochar and asterwise_get_transits in the DO NOT CONFUSE section, so an agent can differentiate it from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly recommends a before-tool (asterwise_get_natal_chart) and an after-tool (asterwise_get_gochar), while the DO NOT CONFUSE section names two alternatives and explains why they differ. This gives the agent clear when-to-use and 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.
asterwise_check_vehicle_numberVehicle Number CheckARead-onlyIdempotentInspect
Strips non-digits from a vehicle registration token, reduces the numeric run with owner name and birth date, and returns the same harmony schema as mobile analysis.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — owner baseline. AFTER: None.
INPUT CONTRACT: Letters and separators are ignored; reduction uses numeric digits only.
DO NOT CONFUSE WITH: asterwise_check_mobile_number — phone digit rules including country codes. asterwise_get_business_name_analysis — evaluates business Expression, not registration digits.
Full output and error contract: https://docs.asterwise.com/mcp/tools/check-vehicle-number/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format. | |
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| vehicle_number | Yes | Vehicle registration number, e.g. 'DL01AB1234'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, and the description adds meaningful behavior beyond that: letters and separators are ignored, only numeric digits are used, and owner name and birth date are combined in the reduction. The explicit input contract and link to the full output/error contract further disclose behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with labeled sections like WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH, and the core operation is front-loaded. There is minor redundancy between the first sentence and the INPUT CONTRACT about ignoring letters and separators, but no significant wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering the safety profile, the description supplies the processing rules, workflow context, sibling exclusions, and a link to the full output/error contract. An agent has enough information to select and invoke this tool correctly without needing additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, giving a baseline of 3, and the description adds value by clarifying vehicle_number processing: non-digits are stripped and only numeric digits participate in the reduction. It does not materially expand on the name or date parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource: strips non-digits from a vehicle registration token, reduces the numeric run with owner name and birth date, and returns the same harmony schema as mobile analysis. The DO NOT CONFUSE WITH section explicitly separates it from mobile number and business name analysis tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The DO NOT CONFUSE WITH section names exact alternatives and their distinguishing conditions, such as phone digit rules including country codes for asterwise_check_mobile_number. The WORKFLOW block adds a recommended preceding tool, giving clear workflow context for when this tool fits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_draw_tarot_cardsDraw Tarot CardsARead-onlyInspect
Draws N unique random cards from the 78-card deck using cryptographic randomness (Python secrets.SystemRandom). Every call is independent — there is no session state.
WORKFLOW: BEFORE: None — standalone. AFTER: None — interpret drawn cards using their active_meaning and active_keywords fields.
INPUT CONTRACT: count (int 1–78, default 1) — Number of unique cards to draw. Example: 1 (daily pull), 3 (simple reading), 10 (Celtic Cross), 78 (full deck shuffle). Values outside 1–78 are rejected locally with MCP INVALID_PARAMS. allow_reversed (bool, default false) — When true, each drawn card independently has a 50% chance of reversal (cryptographically random, not seeded).
DO NOT CONFUSE WITH: asterwise_get_tarot_card_of_the_day — deterministic daily card, same for all callers. asterwise_get_tarot_three_card_spread — positional read with named positions and meanings. asterwise_get_tarot_celtic_cross — 10-card positional spread.
Full output and error contract: https://docs.asterwise.com/mcp/tools/draw-tarot-cards/
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of cards to draw. | |
| allow_reversed | No | Whether cards may be drawn reversed (upside down). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description is consistent with them. It adds significant context beyond annotations: cryptographic randomness via Python secrets.SystemRandom, per-call independence with no session state, local rejection of out-of-range counts with MCP INVALID_PARAMS, and a 50% per-card reversal chance that is explicitly 'not seeded.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core behavior in the first sentence, then organized into labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that make it scannable. There is no filler; examples, validation notes, and the docs link all earn their place, and the length is proportionate to the three near-sibling tools it must disambiguate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Between the annotations (safe read operation), the output schema, and the docs link for the full output/error contract, nothing an agent needs to invoke this tool correctly is missing. The reminder to interpret drawn cards via active_meaning and active_keywords fields also closes the loop on how results should be consumed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all three parameters; the description adds strong value with concrete examples (1 daily pull, 3 simple reading, 10 Celtic Cross, 78 full deck), the 1–78 boundary with local validation behavior, and probability mechanics for allow_reversed (50% per card, independent, not seeded). Minor gap: response_format is absent from the INPUT CONTRACT section, though its schema description is thorough.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 — 'Draws N unique random cards from the 78-card deck' — and adds scope-defining traits (unique, cryptographic randomness, no session state). The 'DO NOT CONFUSE WITH' block names the three closest tarot siblings and their distinguishing behavior, so an agent can select this tool without opening their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the tool is standalone with no prerequisites or follow-up ('BEFORE: None', 'AFTER: None'). The 'DO NOT CONFUSE WITH' section names asterwise_get_tarot_card_of_the_day, asterwise_get_tarot_three_card_spread, and asterwise_get_tarot_celtic_cross with the precise differences (deterministic vs positional vs random), leaving no ambiguity about when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_angel_numberAngel NumberARead-onlyIdempotentInspect
Lookup the meaning of a specific angel number by its sequence. Supported: 000, 111–999 (single repeating digit), 911, 1010, 1111, 1122, 1212, 1234, 2222–9999 (double repeating digit).
WORKFLOW: BEFORE: None — standalone. AFTER: None.
INPUT CONTRACT: number: string — the angel number sequence to look up. Examples: '111', '444', '1111', '911'.
DO NOT CONFUSE WITH: asterwise_get_angel_number_today — today's collective daily angel number. asterwise_get_angel_number_personal — personal angel number from birth date. asterwise_get_number_meaning — Pythagorean numerology meaning for 1–33; different tradition.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-angel-number/
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | Angel number sequence as seen, e.g. '111' or '1234'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description includes 'WORKFLOW: BEFORE: None — standalone. AFTER: None.' which clarifies no side effects, complementing the annotations (readOnlyHint, idempotentHint, destructiveHint). It also states the output format parameter, so the agent knows it produces markdown or JSON.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, supported, workflow, input contract, disambiguation) and each section serves a necessary role. It is detailed but not redundant, and the formatting makes it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large number of sibling tools, the description provides complete context: purpose, supported inputs, disambiguation from relevant alternatives, workflow, input contract, and a link to full output/error docs. It also indicates the output options via the response_format parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the schema: 'number' as the angel number sequence with examples, and 'response_format' with enum and default. The description's 'INPUT CONTRACT' section reinforces the meaning with examples, going beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Lookup the meaning of a specific angel number by its sequence.' It also specifies supported sequences and explicitly names sibling tools to avoid confusion (asterwise_get_angel_number_today, asterwise_get_angel_number_personal, asterwise_get_number_meaning).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage guidance through the 'DO NOT CONFUSE WITH' section, listing specific alternatives and explaining the difference (e.g., today's daily number, personal number from birth date, Pythagorean numerology). This tells the agent exactly when to use this tool vs alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_angel_number_personalPersonal Angel NumberARead-onlyIdempotentInspect
Computes a personal angel number from a birth date using the Pythagorean Life Path as the base. Life Path 1-9 maps to the triple sequence (LP 4 → 444). Master numbers 11, 22, 33 map to 1111, 2222, 3333 respectively.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — confirm Life Path before calling. AFTER: None.
INPUT CONTRACT: date: Birth date in YYYY-MM-DD format. Example: '1994-03-31' name (optional): Person's name for personalisation.
DO NOT CONFUSE WITH: asterwise_get_angel_number_today — collective daily number from today's date, not birth date. asterwise_get_numerology_profile — full Pythagorean profile; this tool extracts only the Life Path → angel sequence mapping.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-angel-number-personal/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format. | |
| name | No | Person's name, used to personalise the angel number reading. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive. The description adds concrete behavioral detail: the LP-to-sequence mapping rules, master number handling, and scope ('extracts only the Life Path → angel sequence mapping'), plus a docs link for the full output/error contract. This goes beyond the annotations 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with a clear first sentence, then organized into labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, docs link). Each section earns its place; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description doesn't need to explain return values. It covers purpose, mapping, workflow, param semantics, exclusions, and points to a full contract. Nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions, so baseline is 3. The description adds an explicit example ('1994-03-31'), marks name as optional, and clarifies that date means 'birth date' (not today's date), which disambiguates from the sibling tool. That extra practical context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation — 'Computes a personal angel number from a birth date using the Pythagorean Life Path as the base' — and gives the exact mapping logic. The 'DO NOT CONFUSE WITH' section explicitly separates it from asterwise_get_angel_number_today and asterwise_get_numerology_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: recommends calling asterwise_get_numerology_profile first to confirm Life Path, and lists two confusable siblings with conditions (daily vs birth date; full profile vs only Life Path mapping). This leaves no ambiguity about alternative selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_angel_number_todayAngel Number TodayARead-onlyIdempotentInspect
Returns today's angel number computed from the current date. All digits of the date are summed and reduced to a single digit (1-9), then the triple sequence of that digit is returned (e.g. digit 9 → angel number 999).
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_angel_number_personal — for a personalised angel number from birth date.
INPUT CONTRACT: No required parameters — today's date is used automatically.
DO NOT CONFUSE WITH: asterwise_get_angel_number — lookup for a specific number sequence by value. asterwise_get_angel_number_personal — personalised number from birth date Life Path.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-angel-number-today/
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive, so the description doesn't need to restate that. It adds valuable context by explaining the computational method (date digits summed and reduced to a single digit, then tripled) and offering a link to the full output/error contract, which covers any missing edge-case details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and is front-loaded with the primary purpose. It is slightly lengthy due to the distinctions and workflow notes, but every sentence serves a purpose, and the included docs link consolidates additional details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no required params, read-only), the description is complete: it explains what it does, how it computed, when to use it vs. alternatives, and provides a docs link for errors/output. It doesn't explicitly mention response formats, but the schema already covers that, and the workflow note clarifies its standalone nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description covers the single optional parameter (response_format) with enum and default, achieving 100% coverage. The description adds context that no required parameters exist and that the date is automatically derived, but this relates to operational behavior rather than enhancing parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns today's angel number computed from the current date, with a specific algorithm (sum and reduce digits). It explicitly distinguishes itself from sibling tools via the 'DO NOT CONFUSE WITH' section, naming asterwise_get_angel_number and asterwise_get_angel_number_personal and their purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is explicit: the 'WORKFLOW' section states it is standalone and suggests when to use the personal angel number tool afterward. The 'DO NOT CONFUSE WITH' section clarifies when to use alternative tools (specific number lookup vs. personalized from birth date), leaving no ambiguity about selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_ashtakavargaAshtakavargaARead-onlyIdempotentInspect
Computes full Ashtakavarga bindu matrices, trikona and ekadhipatya reductions, and sarva totals from BirthData for transit support analysis.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — confirm chart before AVK study. AFTER: asterwise_get_gochar — uses AVK scores in transit rows.
INPUT CONTRACT: BirthData only.
DO NOT CONFUSE WITH: asterwise_get_chart_strength — primary payload is Shadbala/Vimshopaka, though it embeds AVK too. asterwise_get_gochar — applies AVK scores to transits rather than exposing raw matrices.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-ashtakavarga/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive behavior, so the description's job is lighter. It adds value by stating the exact computed outputs, clarifying that raw matrices are exposed here rather than applied to transits, and linking to the full output/error contract. Minor operational details like rate limits or auth are absent but not critical for a read-only compute tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with labeled sections—WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH—and the core function is front-loaded in the first sentence. It is longer than minimal, but the length is justified by the complexity of the tool and the need to disambiguate among a large sibling list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex Vedic tool with a nested birth object and an output schema, the description provides the essential workflow, input restriction, sibling disambiguation, and a link to the full contract. Return-value details are not duplicated because an output schema exists, so nothing necessary for correct selection and invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% parameter coverage with detailed descriptions for date, lat, lon, time, ayanamsa, timezone, person_name, and response_format, so the baseline is 3. The description adds only the high-level contract 'BirthData only,' which is useful but does not deepen per-parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a precise verb phrase—'Computes full Ashtakavarga bindu matrices, trikona and ekadhipatya reductions, and sarva totals'—clearly identifying both the resource and the computation. The 'DO NOT CONFUSE WITH' sections explicitly distinguish it from asterwise_get_chart_strength and asterwise_get_gochar, so an agent can disambiguate 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section names a recommended predecessor (asterwise_get_natal_chart), a natural successor (asterwise_get_gochar), and why the successor uses this tool's output. It also identifies the tools most likely to be confused with this one and explains the selection difference, making when-to-use unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_ashtottari_dashaAshtottari DashaARead-onlyIdempotentInspect
Computes the 108-year Ashtottari Dasha tree with configurable depth (levels 1–5) and returns periods under data.periods.root with DD/MM/YYYY dates.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — chart context before choosing between Ashtottari and Vimshottari. AFTER: asterwise_get_dasha — optional Vimshottari comparison.
INPUT CONTRACT: levels: same as asterwise_get_dasha (1–5), enforced locally before the API call. Periods use data.periods.root[], not data.periods[]. Dates in periods are DD/MM/YYYY.
DO NOT CONFUSE WITH: asterwise_get_dasha — standard 120-year Vimshottari with data.periods[], not Ashtottari or data.periods.root[]. asterwise_get_yogini_dasha — 36-year Yogini cycle with yogini names on each row.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-ashtottari-dasha/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| levels | No | Depth of the dasha tree: 1 returns major periods only, each extra level adds the next sub-period layer. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral details: the output location (data.periods.root[]), date formatting (DD/MM/YYYY), depth semantics, and local validation of levels. It also links to the full output and error contract. The readOnly and idempotent annotations align with the described compute-and-return behavior, with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized into workflow, input contract, and disambiguation sections, making it easy to parse. It is slightly repetitive (e.g., mentioning data.periods.root and DD/MM/YYYY twice), but the structure and clarity justify the length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of nested objects and an output schema, the description is complete: it specifies input constraints, output shape, date formats, related tools, and a link to the full contract. An agent has enough context to invoke the tool correctly and understand expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides thorough descriptions for all parameters, including defaults, formats, and allowed values. The description adds useful context about level validation and the relationship to sibling tools, though it does not dramatically expand on the schema's already high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description precisely states that the tool computes the 108-year Ashtottari Dasha tree with configurable depth and returns periods under data.periods.root. It also explicitly distinguishes this tool from asterwise_get_dasha (Vimshottari) and asterwise_get_yogini_dasha, leaving no ambiguity about its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear workflow guidance, recommending asterwise_get_natal_chart before use and asterwise_get_dasha for optional Vimshottari comparison. It also includes explicit 'DO NOT CONFUSE WITH' notes, which effectively tells an agent when to use this tool versus closely related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_ayanamshaAyanamshaARead-onlyIdempotentInspect
Returns ayanamsha values for all four supported systems (Lahiri, Raman, KP, Tropical) for a given date.
WORKFLOW: BEFORE: None — standalone reference. AFTER: None.
INPUT CONTRACT: date (optional): Date in YYYY-MM-DD format. Defaults to today.
DO NOT CONFUSE WITH: asterwise_get_natal_chart — applies Lahiri ayanamsha automatically to natal positions. asterwise_get_western_natal — uses tropical zodiac (ayanamsha = 0).
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-ayanamsha/
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date to compute the ayanamsha for, YYYY-MM-DD. Defaults to today. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide strong safety cues: readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds useful behavioral context beyond those: it is a standalone reference with no BEFORE/AFTER workflow dependencies, and it defaults the date to today. It also links to the full output and error contract, which covers any remaining behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well structured and front-loaded: the core behavior appears in the first sentence, followed by compact WORKFLOW, INPUT CONTRACT, and confusion-avoidance sections. Every section earns its place and the whole thing is easy for an agent to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only tool with full schema coverage, an output schema, and rich annotations, the description is complete. It covers date format, default behavior, supported systems, sibling alternatives, and points to the full output/error contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both date and response_format fully. The description reiterates the date default but does not add meaningfully beyond the schema. Baseline 3 is appropriate because the schema carries the parameter semantics burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb with a resource: 'Returns ayanamsha values for all four supported systems (Lahiri, Raman, KP, Tropical) for a given date.' It is clearly distinct from sibling tools, and it even names the two most likely confusable alternatives and what they do differently.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides a 'DO NOT CONFUSE WITH' section, naming asterwise_get_natal_chart and asterwise_get_westen_natal and explaining when each should be used instead. This gives concrete routing guidance beyond simply defining the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_balance_numberBalance NumberARead-onlyIdempotentInspect
Calculates the Balance number from the first letter of each name part, using Pythagorean values. A three-part name yields three initials summed and reduced. The Balance number describes how a person handles emotional crises and unresolved inner conflict.
WORKFLOW: BEFORE: None — standalone. AFTER: None.
INPUT CONTRACT: name — Full legal name as used at birth. The first letter of each space-separated part contributes one value. Example: 'Arjun Mehta' → A(1) + M(4) = 5 Example: 'James Earl Carter' → J(1) + E(5) + C(3) = 9
DO NOT CONFUSE WITH: asterwise_get_expression_number — uses all letters, not just initials. asterwise_get_karmic_lessons — identifies absent digits across all letters.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-balance-number/
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description does not add extra context about side effects, permissions, or rate limits, but it is consistent 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with clear sections (purpose, workflow, input contract, do-not-confuse) and is free of unnecessary verbosity. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Includes algorithm, worked examples, output format options, and differentiation from related tools. An agent has everything needed to invoke this tool correctly without further clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the schema with types, defaults, and enums. The description adds the algorithm and concrete examples, providing rich semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calculates the Balance number from first letters of name parts, with explicit examples. It distinguishes itself from expression number and karmic lessons, making its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'DO NOT CONFUSE WITH' section that explicitly names sibling tools and clarifies when not to use them. It also covers output format options, giving clear usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_biorhythmBiorhythmARead-onlyInspect
Computes physical (23-day), emotional (28-day), and intellectual (33-day) biorhythm cycles for a birth date.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_nakshatra_prediction — for the Vedic personalized daily prediction.
INPUT CONTRACT: birth_date (required): Date of birth in YYYY-MM-DD format. target_date (optional): Date to compute for. Defaults to today. days (optional int 1-90): Number of consecutive days. Default 1.
DO NOT CONFUSE WITH: asterwise_get_nakshatra_prediction — Vedic Tarabala/Chandrabala daily prediction. asterwise_get_panchanga — Vedic daily panchanga elements, not biorhythm cycles.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-biorhythm/
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of consecutive days to include, starting from the target date. | |
| birth_date | Yes | Date of birth, YYYY-MM-DD. | |
| target_date | No | Date to chart the cycles for, YYYY-MM-DD. Defaults to today. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral context beyond the annotations by stating it is 'standalone' and has a specific workflow after it, which is not covered by the readOnly or idempotent hints. However, it does not explicitly mention side effects or permissions, though the annotations already cover these (readOnlyHint true, destructiveHint false). Overall, it adds moderate context without contradicting 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured into clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and is not overly long. However, the INPUT CONTRACT section repeats information already present in the schema, introducing slight redundancy. The front-loaded first sentence is effective, and the overall structure is easy to follow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (4 parameters, 1 enum, output schema exists), the description covers the core purpose, usage, and differentiators. It points to a URL for the full output and error contract, which addresses potential omissions. It does not describe the output structure in detail, but the link compensates. Overall, it is sufficiently complete for an agent to decide and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers 100% of the parameter descriptions, giving a baseline of 3. The description adds the range constraint for 'days' (1-90) and clarifies the default behavior for 'target_date' ('Defaults to today'), which is not fully specified in the schema. This additional context improves understanding beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool computes physical, emotional, and intellectual biorhythm cycles for a birth date. It also explicitly distinguishes itself from related tools via the 'DO NOT CONFUSE WITH' section, naming asterwise_get_nakshatra_prediction and asterwise_get_panchanga. This provides both a specific verb and resource, and clear differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit workflow guidance: 'BEFORE: None' and 'AFTER: asterwise_get_nakshatra_prediction', indicating where this tool fits in a sequence. It also tells the agent when not to use this tool (i.e., for Vedic daily predictions or panchanga elements), making the selection criteria very clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_business_name_analysisBusiness Name AnalysisARead-onlyIdempotentInspect
Reduces a business name to Expression and root digits against a founder birth date and returns thematic suitability lists plus a harmony score.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_name_correction — if the entity is a person, not a brand.
INPUT CONTRACT: Special characters and digits are acceptable; reduction strips non-letters per upstream rules. No local validation on name or date.
DO NOT CONFUSE WITH: asterwise_get_name_correction — personal spelling alternatives, not corporate Expression scoring. asterwise_check_mobile_number — numeric line analysis, not brand letters.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-business-name-analysis/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format. | |
| business_name | Yes | Business or brand name to analyse. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior, so the description's added value comes from the INPUT CONTRACT: 'Special characters and digits are acceptable; reduction strips non-letters per upstream rules. No local validation on name or date.' This discloses important behavioral expectations beyond the structured annotations, and a link to the full output/error contract is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main purpose is front-loaded in the first sentence, and the rest is organized into scannable labeled sections: WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and a documentation link. Every section earns its place without redundant elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and annotations cover safety, the description supplies all necessary context: standalone workflow, input constraints, no local validation, disambiguation from similar tools, and a link to the full output/error contract. Nothing an agent needs to select and invoke this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds extra semantic value by explaining that special characters and digits are acceptable and that non-letters are stripped during reduction. It also clarifies there is no local validation on name or date, which supplements the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: 'Reduces a business name to Expression and root digits against a founder birth date and returns thematic suitability lists plus a harmony score.' It clearly states what the tool computes and distinguishes it from siblings by naming asterwise_get_name_correction and asterwise_check_mobile_number as different analyses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly says 'BEFORE: None — standalone' and gives an AFTER condition: use asterwise_get_name_correction if the entity is a person, not a brand. The DO NOT CONFUSE WITH block names two alternatives and explains exactly why they are different, so an agent receives concrete when-to-use and 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.
asterwise_get_chaldean_numerologyChaldean NumerologyARead-onlyIdempotentInspect
Reduces a name and birth date through the Chaldean letter-value system and returns name, birth, and combined compound analyses with themes and keywords.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_numerology_profile — compare against Pythagorean cores if needed.
INPUT CONTRACT: name and date forwarded as-is; no local validation.
DO NOT CONFUSE WITH: asterwise_get_numerology_profile — Pythagorean Life Path / Expression stack, not Chaldean compounds. asterwise_get_lo_shu_grid — digit placement magic square, not Chaldean name reduction.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-chaldean-numerology/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format. | |
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the description does not need to repeat these. It adds useful behavioral detail about returning name, birth, and combined compound analyses, and the 'no local validation' note clarifies input handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized with clear sections for workflow, input contract, and exclusions. It is somewhat verbose but each section serves a distinct purpose and there is little redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description does not need to exhaustively list return fields. It summarizes the return content and provides a link to the full output and error contract, which is sufficient for context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds extra context about inputs being forwarded as-is with no local validation. The roles of name, date, and response_format are fully explained in the schema, and the description reinforces them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reduces a name and birth date using the Chaldean letter-value system and returns compound analyses. It also distinguishes itself from similar tools like asterwise_get_numerology_profile and asterwise_get_lo_shu_grid.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides workflow context and explicitly warns not to confuse this tool with Pythagorean-based numerology or Lo Shu grid tools. It lacks an explicit 'use this when' statement, but the workflow and exclusions offer strong practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_char_dashaChar DashaARead-onlyIdempotentInspect
Computes Char Dasha from birth data and returns sign lords as period rulers with ISO-dated Maha and Antar sequences plus karaka mappings.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — contextualises the chart before interpreting sign-based lords. AFTER: asterwise_get_dasha — optional Vimshottari cross-check for the same native.
INPUT CONTRACT: Period start_date and end_date in data.periods[] are YYYY-MM-DD (ISO), unlike asterwise_get_dasha which uses DD/MM/YYYY in its tree. All other parameters follow the BirthData global contract.
DO NOT CONFUSE WITH: asterwise_get_dasha — Vimshottari planet lords with DD/MM/YYYY in periods[], not sign-based Char Dasha. asterwise_get_yogini_dasha — eight Yoginis and data.periods.root[], not classical signs.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-char-dasha/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate read-only, idempotent, and non-destructive behavior, and the description is consistent with that. The description adds useful context about output format and date formatting but does not disclose additional behavioral side effects or limitations beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for workflow, input contract, and disambiguation. However, the date format distinction is repeated in both the 'INPUT CONTRACT' and 'DO NOT CONFUSE WITH' sections, adding slight redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description summarizes the output content, mentions the output format options, provides workflow context, and references the full output and error contract URL. Combined with the detailed schema, an agent has sufficient information to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all parameters with detailed descriptions, so the description adds little beyond what is already in the input schema. The note about data.periods[] using YYYY-MM-DD is output-related rather than an input parameter clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool computes Char Dasha and returns sign lords as period rulers with ISO-dated Maha and Antar sequences plus karaka mappings. It also distinguishes itself from Vimshottari and Yogini dasha tools, so an agent can clearly identify when to choose this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit workflow guidance: natal chart is recommended before, and Vimshottari dasha is noted as an optional cross-check after. It also clarifies the date format difference versus asterwise_get_dasha and warns against confusing it with the Vimshottari and Yogini tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_chart_strengthChart StrengthARead-onlyIdempotentInspect
Aggregates Shadbala, Bhavbala, Vimshopaka (with per-varga contributions), embedded sixteen vargas, Ashtakavarga, karaka maps, and graha yuddha pairs from BirthData.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — contextualises houses before reading bala tables. AFTER: asterwise_get_yogas — optional configuration pass after strength review.
INPUT CONTRACT: BirthData only; no extra toggles.
DO NOT CONFUSE WITH: asterwise_get_yogas — boolean yoga catalogue, not numeric bala. asterwise_get_ashtakavarga — standalone AVK when strength bundle is not needed.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-chart-strength/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the baseline is low. The description adds context about the workflow (recommended order) and clarifies that it reads 'from BirthData', which implies a read-only operation. However, it does not explicitly mention side effects or lack thereof beyond the annotations, so a small gap remains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Despite being long, the description is highly structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and front-loads the purpose. No wasted words; each sentence carries distinct value, and the flow guides the reader efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is self-contained and thorough: it states what the tool returns, how it fits in a larger workflow, differentiates it from similar tools, and even points to a full documentation URL. Given the complexity (multiple bala types, vargas, karaka maps), this is more than sufficient for an agent to decide when and how to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% – every parameter and subfield is described. The description goes beyond the schema, e.g., explaining that omitting time uses a sunrise chart and not to pass '00:00' for unknown, and giving default Ayanamsa as 'lahiri' with a recommendation. This adds practical meaning that helps invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states what the tool does: 'Aggregates Shadbala, Bhavbala, Vimshopaka...' and is clearly distinguished from sibling tools like asterwise_get_yogas and asterwise_get_ashtakavarga. The verb 'Aggregates' plus the specific resource (BirthData) and the list of outputs make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The workflow section gives explicit before/after recommendations: 'BEFORE: RECOMMENDED — asterwise_get_natal_chart' and 'AFTER: asterwise_get_yogas — optional'. The 'DO NOT CONFUSE WITH' section explicitly names alternatives and what they are, so when-to-use and when-not-to-use are crystal clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_choghadiyaChoghadiyaARead-onlyIdempotentInspect
Splits a solar day into sixteen Choghadiya segments from sunrise/sunset at a location and labels each slot's quality, ruler, and local clock bounds.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_rahu_kaal — optional inauspicious band overlay for the same date.
INPUT CONTRACT: LocationInput enforces YYYY-MM-DD date and lat/lon ranges locally. All parameters are defined in the tool schema.
DO NOT CONFUSE WITH: asterwise_get_hora — twenty-four planetary horas, not sixteen Choghadiya. asterwise_get_muhurta — scored windows across a date range for named activities.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-choghadiya/
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes | For tools that need location but not birth time. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, providing the core safety profile. The description adds no side-effect information but does describe the output (quality, ruler, local clock bounds) and the input basis (sunrise/sunset at a location), which gives some behavioral context beyond the annotations. Since annotations cover the main safety aspects and the description adds modest context, a score of 4 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main description is a single, dense sentence that conveys the core function without fluff. The additional sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) are each short and purposeful, adding necessary guidance without redundancy. The structure is well-organized and every sentence contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, input constraints (via INPUT CONTRACT and schema), output expectations (quality, ruler, clock bounds), workflow (before/after), and alternatives to avoid. It also provides a link to the full output/error contract. For a tool with a nested location parameter, this is comprehensive and leaves little ambiguity for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all fields having descriptions (e.g., lat/lon ranges, date pattern, timezone default, response_format enum). The description text adds context by explaining that the location is used for 'sunrise/sunset' and that output includes 'local clock bounds,' which clarifies the role of timezone and lat/lon. The INPUT CONTRACT section also states that LocationInput enforces date format and lat/lon ranges, reinforcing schema details. This extra context justifies a 4 rather than the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: 'Splits a solar day into sixteen Choghadiya segments from sunrise/sunset at a location and labels each slot's quality, ruler, and local clock bounds.' It clearly identifies the resource (solar day segments) and the action (splits and labels). The 'DO NOT CONFUSE WITH' section explicitly differentiates it from asterwise_get_hora and asterwise_get_muhurta, making it distinct among the many sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit workflow guidance: 'BEFORE: None — this tool is standalone. AFTER: asterwise_get_rahu_kaal — optional inauspicious band overlay for the same date.' It also includes 'DO NOT CONFUSE WITH' warnings that clarify when not to use this tool compared to related ones (hora, muhurta). This gives the agent clear conditions for selecting this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_compatibilityAshtakoota CompatibilityARead-onlyIdempotentInspect
Scores North Indian Ashtakoota (36-point Guna Milan) for two charts and returns koota breakdown, dosha flags, classical vetoes, mangal cross-check, and narrative guidance.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart per person — understand charts before interpreting scores. AFTER: asterwise_get_papasamyam — optional malefic balance overlay.
INPUT CONTRACT: Two BirthData objects follow the global contract (unknown midnight time accepted without flag). All scoring is computed upstream from those payloads.
DO NOT CONFUSE WITH: asterwise_get_dashakoot — ten-point South Indian extension, not 36-point Ashtakoota. asterwise_get_porutham — Tamil ten-porutham pass/fail grid, different schema.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-compatibility/
| Name | Required | Description | Default |
|---|---|---|---|
| person1 | Yes | Birth data for a single person. | |
| person2 | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds context by stating it 'scores' and 'returns' data, implying no mutation. It also notes 'All scoring is computed upstream from those payloads,' clarifying the input handling. No contradiction with annotations, and the description adds modest 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections for workflow and exclusions, and the main purpose is stated in one sentence. It includes a link to the full contract and helpful context without excessive verbosity. The extra sections add value and are not redundant, so it earns a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides sufficient context for a complex astrological tool: it mentions the expected output (koota breakdown, dosha flags, etc.), gives workflow recommendations, names sibling tools to avoid confusion, and links to the full output/error contract. While the output schema is not inline, the link covers it, and the description is complete enough for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (person1, person2, response_format) fully described. The description adds minimal parameter-specific info, only mentioning 'Two BirthData objects follow the global contract' and 'unknown midnight time accepted without flag,' which slightly supplements the schema. Since the schema already covers semantics thoroughly, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: scoring North Indian Ashtakoota (36-point Guna Milan) for two charts and returning a breakdown, dosha flags, classical vetoes, mangal cross-check, and narrative guidance. It distinguishes from similar tools via the 'DO NOT CONFUSE WITH' section naming dashakoot and porutham, so an agent can select it correctly 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides when to use this tool: before interpreting scores, a natal chart is recommended; after, papasamyam is an optional overlay. It also explicitly names alternatives (dashakoot, porutham) and explains why they are different, giving clear guidance on when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_crystalCrystal LookupARead-onlyIdempotentInspect
Lookup a specific crystal by slug or name (case-insensitive). Returns full detail including dual Vedic/Western planetary assignments, all healing properties, and any safety cautions.
WORKFLOW: BEFORE: None — standalone or after asterwise_get_gemstone_recommendations. AFTER: None.
INPUT CONTRACT: name: Crystal slug or display name. Examples: 'amethyst', 'blue-sapphire', 'Cat's Eye Chrysoberyl'
DO NOT CONFUSE WITH: asterwise_get_crystals — full 50-crystal catalogue. asterwise_get_crystal_by_planet — all crystals for a Vedic planet. asterwise_get_gemstone_recommendations — natal chart-based gem recommendations (house lordship rules), different from this database.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal/
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Crystal slug or display name, e.g. 'amethyst', 'blue-sapphire', 'Cat's Eye Chrysoberyl'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds meaningful behavioral detail beyond those: case-insensitive matching, the scope of returned data (dual Vedic/Western assignments, healing properties, safety cautions), and a link to the output/error contract.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and uses clear labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH). It is slightly verbose, and the WORKFLOW line contains a minor contradiction ('None' followed by an alternative usage), but every section earns its place given the large sibling list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-record lookup with two parameters, an output schema, and safety annotations, the description covers all essential context: purpose, input contract, workflow placement, disambiguation from three closely related tools, and a reference to the full output/error contract. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters. The description adds a small but useful behavioral nuance — case-insensitive matching — and reinforces the input contract with concrete examples, though most of that is already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: 'Lookup a specific crystal by slug or name', and immediately distinguishes itself from sibling tools by naming what it is not (full catalogue, by-planet lookup, gemstone recommendations). An agent can tell this tool apart from its closest siblings without opening their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section states prerequisites and successors (BEFORE: None — standalone or after asterwise_get_gemstone_recommendations; AFTER: None), and the DO NOT CONFUSE WITH section explicitly names three alternatives with the conditions that select them. This gives clear when-to-use and 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.
asterwise_get_crystal_by_planetCrystals by PlanetARead-onlyIdempotentInspect
Returns all crystals associated with a specific Vedic planet. Results are sorted with primary Navaratna gems first, then Uparatna substitutes. Only Navaratna and Uparatna Vedic assignments are returned — crystals with no Vedic planetary correspondence are excluded.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — identify the planet needing remediation. AFTER: asterwise_get_gemstone_recommendations — for chart-specific gem safety assessment.
INPUT CONTRACT: planet: One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu.
DO NOT CONFUSE WITH: asterwise_get_gemstone_recommendations — natal chart house-lordship gem recommendation with contraindications; use for actual gem prescription, not just listing. asterwise_get_crystals — all 50 crystals including Western-only ones.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal-by-planet/
| Name | Required | Description | Default |
|---|---|---|---|
| planet | Yes | Planet to find crystals for, e.g. 'Venus' or 'Saturn'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and the description ('Returns') is consistent. No contradiction exists. The description adds context about filtering and sorting, which is harmless and does not mislead about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses clear section headers (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and every sentence provides distinct, necessary information (scope, sorting, exclusions, related tools). No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Though an output schema exists (so return values need not be explained), the description fully covers what the tool does, its filtering, and its relationship to other tools. This is enough for an agent to decide when to call it and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters described). The description adds extra value by listing all valid planet values in the INPUT CONTRACT (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu), which is more precise than the schema's example 'Venus' or 'Saturn'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 all crystals associated with a specific Vedic planet.' It further distinguishes itself by clarifying the sorting (Navaratna first, Uparatna substitutes) and exclusions (no Vedic correspondence), which clearly separates it from sibling crystal tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit workflow is provided: BEFORE (use natal chart to identify planet) and AFTER (use gemstone recommendations for prescription). The DO NOT CONFUSE WITH section names alternatives and explains when each should be used (e.g., gemstone recommendations for actual prescription, not just listing), giving clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_crystal_recommendationsCrystal RecommendationsARead-onlyIdempotentInspect
Recommends crystals based on zodiac sign, chakra, or intention keyword. At least one filter is required. Returns crystals that match the most criteria first.
WORKFLOW: BEFORE: None — standalone for consumer apps. AFTER: asterwise_get_crystal — get full detail on any recommended crystal.
INPUT CONTRACT: At least one of: zodiac_sign, chakra, intention must be provided. zodiac_sign (optional): English zodiac sign, e.g. 'Taurus', 'Scorpio'. chakra (optional): One of Root, Sacral, Solar Plexus, Heart, Throat, Third Eye, Crown. intention (optional): Keyword string, e.g. 'protection', 'abundance', 'love'. limit (optional int, default 5, max 20): Maximum results to return.
DO NOT CONFUSE WITH: asterwise_get_crystal_by_planet — Vedic planet filter only. asterwise_get_gemstone_recommendations — natal chart house-lordship gem prescription with contraindications.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal-recommendations/
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return. | |
| chakra | No | Chakra to focus on, e.g. 'heart' or 'third eye'. | |
| intention | No | Purpose for the recommendation, e.g. 'protection', 'focus', 'love'. | |
| zodiac_sign | No | Zodiac sign, e.g. 'Leo'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly and idempotent hints, so the description does not need to repeat those. It adds behavioral context by stating the sorting logic and offering a response_format parameter, which clarifies output behavior beyond the schema. The output/error contract link provides additional transparency, though no direct side-effect details are needed 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (workflow, input contract, do-not-confuse, output contract). Though somewhat lengthy, every sentence contributes useful information—no fluff. The main recommendation statement is concise, and the additional sections are organized logically.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provides sufficient context for correct invocation: required filters, output format options, and a link to the full output/error contract. Although the actual output schema is not embedded, the description's mention of markdown/json and the contract URL mitigate the gap. It also clarifies relationships with sibling tools, making the tool's role well-defined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 enhances this by listing allowed chakra values (Root, Sacral, Solar Plexus, etc.) which are not in the schema enum, and providing concrete examples for intention (protection, abundance, love) and zodiac_sign. It also clarifies the limit default/max, aligning with schema but adding context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Recommends' and the resource 'crystals', with specific criteria (zodiac sign, chakra, intention). The 'DO NOT CONFUSE WITH' section explicitly differentiates from sibling tools like asterwise_get_crystal_by_planet and asterwise_get_gemstone_recommendations, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the requirement 'At least one filter is required' and describes the ordering behavior ('matches the most criteria first'). The workflow mentions 'AFTER: asterwise_get_crystal' for subsequent detail retrieval, and the 'DO NOT CONFUSE WITH' lines provide clear when-to-use guidance against alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_crystal_recommendations_natalNatal Crystal RecommendationsARead-onlyIdempotentInspect
Recommends crystals from a Vedic natal chart using house lordship rules for gem selection. This is the only API that derives crystal recommendations from a computed natal chart — not from zodiac sign or chakra preference.
WORKFLOW: BEFORE: None — this tool internally computes the natal chart. No separate natal chart call required. AFTER: asterwise_get_crystal — get full detail (hardness, origins, affirmation, full caution text) on any recommended crystal by slug. AFTER: asterwise_get_remedies — broader classical remedial programme alongside gem recommendations.
INPUT CONTRACT: Standard BirthData (date, time, lat, lon, timezone, ayanamsa). Defaults to Lahiri ayanamsa. time (required): Ascendant (Lagna) is time-sensitive. Inaccurate birth time changes the Lagna → changes all house lords → changes recommendations entirely.
DO NOT CONFUSE WITH: asterwise_get_gemstone_recommendations — also a chart-based gem endpoint but uses a different engine (Atmakaraka + role-based prescription vs house lordship scoring); returns gem names not crystal database entries; does not include match_score or match_reasons. asterwise_get_crystal_recommendations — recommends crystals by zodiac sign, chakra, or intention keyword (no natal chart computation; Western metaphysical matching, not classical Jyotish). asterwise_get_crystal_by_planet — lists all crystals for a Vedic planet without house context — use this for reference, not prescription.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-crystal-recommendations-natal/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate read-only, idempotent, non-destructive behavior. The description adds useful runtime behavior, such as the sunrise-chart fallback when time is omitted and the 'never pass 00:00' warning. It does not discuss rate limits or auth, but the annotations cover the core behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear headings and each section serves a distinct purpose: purpose, workflow, input contract, and disambiguation. Despite being detailed, it avoids redundant prose and stays focused on actionable guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides enough context for an agent to decide when to use this tool, what inputs to provide, what defaults apply, and how it differs from closely related crystal and gemstone tools. It also includes a link to the full output/error contract and implies key output fields like match_score and match_reasons.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All schema parameters are described, including nested birth fields like lat/lon with ranges, time with format and special unknown-value semantics, ayanamsa enum meanings, timezone default, and response_format. The description adds practical examples and clarifies edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: recommends crystals from a Vedic natal chart using house lordship rules. It also explicitly distinguishes this from zodiac/chakra-based matching, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear workflow with BEFORE/AFTER steps, input contract details, defaults, and a dedicated 'DO NOT CONFUSE WITH' section that differentiates it from several sibling tools. It also links to the full output and error contract.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_crystalsCrystals CatalogueARead-onlyIdempotentInspect
Returns all 50 crystals in the database sorted alphabetically. Each entry includes chakra associations, elemental correspondences, Vedic and Western planetary assignments, physical/emotional/spiritual healing properties, geographic origins, affirmations, and safety cautions.
WORKFLOW: BEFORE: None — standalone catalogue. AFTER: asterwise_get_crystal_by_planet — filter by Vedic planet for remedial use.
INPUT CONTRACT: No required parameters.
DO NOT CONFUSE WITH: asterwise_get_crystal — single crystal detail by name. asterwise_get_crystal_by_planet — filter by Vedic planetary correspondence. asterwise_get_crystal_recommendations — recommendations by zodiac/chakra/intention.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-crystals/
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context: sorted alphabetically, full content list, and a link to the error contract. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and front-loads the primary purpose. While slightly verbose, every section adds value and is well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description is fully complete. It explains the output contents, workflow, alternatives, and provides a documentation link for errors. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter response_format is fully documented in the schema with enum and description. Schema coverage is 100%, so the baseline is 3. The description does not mention the parameter, but it doesn't need to since the schema covers it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns all 50 crystals sorted alphabetically, with a detailed list of what each entry includes. It distinguishes itself from siblings via the DO NOT CONFUSE WITH section, naming asterwise_get_crystal, asterwise_get_crystal_by_planet, and asterwise_get_crystal_recommendations with their purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit WORKFLOW section states no prerequisites and names the AFTER tool for filtering by Vedic planet. The DO NOT CONFUSE WITH section explicitly lists alternative tools and their distinct purposes, leaving no ambiguity about when to use this tool versus others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_dashaVimshottari DashaARead-onlyIdempotentInspect
Computes Vimshottari Dasha from birth data and returns hierarchical period trees plus current Maha/Antar interpretation blocks.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — establishes chart and Moon context before interpreting Dasha lords. AFTER: asterwise_get_dasha_transits — correlates active Dasha lords with transits for the same birth data.
INPUT CONTRACT: levels (int, default 2, max 5): tree depth — 1 = Mahadasha only; 2 adds Antardasha; 3 Pratyantar; 4 Sookshma; 5 Prana (much larger payload). Response dates in periods[] use DD/MM/YYYY, not ISO. BirthData fields follow global contract (date YYYY-MM-DD, time HH:MM; time='00:00' is accepted without flag — lagna-sensitive timing may be wrong if birth time is unknown).
DO NOT CONFUSE WITH: asterwise_get_char_dasha — classical sign-based periods with ISO dates on periods[], not planet-based Vimshottari. asterwise_get_yogini_dasha — 36-year eight-Yogini cycle with data.periods.root[], not Vimshottari. asterwise_get_ashtottari_dasha — 108-year alternative tree with data.periods.root[] and same levels semantics as this tool.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-dasha/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| levels | No | Depth of the Vimshottari tree, 1-5: 1 = Mahadasha only, 2 adds Antardasha (default), 3 Pratyantar, 4 Sookshma, 5 Prana (much larger payload). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds useful behavioral context by linking to the full output and error contract and warning about lagna-sensitive timing when birth time is unknown. This goes beyond what the annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections, making it easy to scan. Some redundancy exists with the schema's parameter descriptions, but the separation of concerns is helpful and not excessive given the large number of sibling dasha tools.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers before/after workflows, sibling-tool disambiguation, output date format, level-depth payload implications, and a link to the full output/error contract. For a complex astrological tool, this provides sufficient context for an agent to invoke it correctly, especially alongside the detailed schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides detailed descriptions for all parameters, so the baseline is high. The description adds valuable output-format context ('Response dates in periods[] use DD/MM/YYYY, not ISO') and reiterates important time-related caveats, but much of the parameter-level meaning is already captured in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Computes Vimshottari Dasha'), a clear resource ('from birth data'), and a concrete output ('returns hierarchical period trees plus current Maha/Antar interpretation blocks'). It also distinguishes this tool from sibling tools in the 'DO NOT CONFUSE WITH' section, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names the recommended before-tool (asterwise_get_natal_chart), the after-tool (asterwise_get_dasha_transits), and the alternative dasha tools with their key differences. This gives the agent clear guidance on when to use this tool versus its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_dashakootDashakootARead-onlyIdempotentInspect
Computes the ten-koota Dashakoot grid for two charts, converts it to a ten-point score with percentage, and exposes boolean dosha flags plus supplementary diagnostics.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart for each native — context before regional scoring. AFTER: asterwise_get_papasamyam — optional malefic differential.
INPUT CONTRACT: Two BirthData objects per global contract.
DO NOT CONFUSE WITH: asterwise_get_compatibility — North Indian 36-point Ashtakoota with different breakdown keys. asterwise_get_porutham — Tamil ten-porutham passed counts, not Dashakoot floats.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-dashakoot/
| Name | Required | Description | Default |
|---|---|---|---|
| person1 | Yes | Birth data for a single person. | |
| person2 | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds behavioral detail about the computed output — grid, score, percentage, dosha flags, diagnostics — and points to a full output/error contract URL, extending context beyond the annotations 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's core behavior, then organized into compact labeled sections for workflow, input contract, sibling differentiation, and documentation. Every section serves a distinct purpose and none is redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nested two-person input and a rich astrology computation, but the description covers workflow, input contract, sibling disambiguation, and full output/error documentation. Combined with complete schema descriptions and the output schema, an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents person1, person2, response_format, including nested fields, defaults, and enums. The description's mention of 'Two BirthData objects per global contract' adds no meaning beyond the schema, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Computes'), a precise resource ('ten-koota Dashakoot grid'), and the derived outputs ('ten-point score with percentage', 'boolean dosha flags', 'supplementary diagnostics'). It also explicitly differentiates from sibling tools asterwise_get_compatibility and asterwise_get_porutham, so an agent can distinguish this tool from similar-sounding alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section states a recommended prerequisite (asterwise_get_natal_chart for each native) and an optional follow-up (asterwise_get_papasamyam). The DO NOT CONFUSE WITH section names the two closest sibling tools and explains why they are not the same, which is exactly the when/not-when guidance needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_dasha_transitsDasha TransitsARead-onlyIdempotentInspect
Combines active Vimshottari lords with today's transits and returns scored correlations plus transit longitudes and houses from Moon and Lagna.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — same birth data should be understood before interpreting houses and lords. AFTER: asterwise_get_gochar — optional broader transit snapshot without dasha scoring.
INPUT CONTRACT: No date field — "today" is fixed by the API. All parameters are otherwise defined in the tool schema. BirthData follows the global contract (unknown birth time: time='00:00' accepted without detection).
DO NOT CONFUSE WITH: asterwise_get_gochar — full nine-planet Gochar with AVK and vedha fields, without dasha–transit correlation scores. asterwise_get_transits — ingress and station lists over a chosen range, not today's dasha snapshot. asterwise_get_dasha — full Vimshottari tree without transit overlay.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-dasha-transits/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive, and the description adds behavioral details: it performs today's transit correlation, returns scored correlations, and requires only birth data. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is a clear purpose statement and the uppercase sections help scannability, but the description is longer than necessary with some redundancy (AFTER vs DO NOT CONFUSE WITH and the final URL).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for use: it covers output content, workflow, today's fixed date, alternatives, and points to the full output/error contract. Since an output schema exists, not detailing return values is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; description adds meaningful context by clarifying that there is no date parameter and that birth data follows a global contract, while the schema already documents each field with examples and constraints. The wording around unknown birth time is slightly opaque, preventing a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: combines active Vimshottari lords with today's transits, returning scored correlations plus transit longitudes and houses. The title and sibling list make it distinct from asterwise_get_gochar, asterwise_get_transits, and asterwise_get_dasha.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit workflow guidance: natal chart is recommended before, gochar is optional after, and DO NOT CONFUSE WITH statements differentiate the three closest sibling tools. It also states that no date field is needed because 'today' is fixed by the API.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_divisional_chartDivisional ChartARead-onlyIdempotentInspect
Computes divisional (varga) chart positions from BirthData; pass chart_type for one varga, or omit chart_type for all sixteen.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — anchor D1 before reading higher vargas. AFTER: None.
INPUT CONTRACT: chart_type enum is enforced locally (Pydantic). BirthData follows the global contract.
DO NOT CONFUSE WITH: asterwise_get_natal_chart — radix chart with houses and drishti, not the full varga dictionary. asterwise_get_chart_strength — embeds vargas inside strength metrics, different primary payload.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-divisional-chart/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| chart_type | No | Divisional chart to return, D1 to D60. Omit to return all 16 charts. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the description does not need to repeat these. It adds detail about local enum enforcement (Pydantic) which is a mild behavioral note. No contradictions with the annotations are present, and the description does not introduce side effects or unexpected behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and avoids repetition. While it is somewhat verbose, the structure makes it easy to scan, and every sentence adds useful context. It is concise enough for an API description without being terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description includes the full output/error contract URL, explains the optional chart_type and the default behavior of returing all 16 charts, and provides workflow context. This is sufficient for an agent to understand the tool's scope, prerequisites, and output format without ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for all parameters, including birth, chart_type, and response_format, each with detailed descriptions. The description itself adds little semantic value beyond restating the enum enforcement, so it does not elevate the baseline set by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes divisional (varga) chart positions from BirthData, and explicitly distinguishes it from the natal chart and chart strength tools. The verb 'Computes' and the resource 'divisional chart positions' are specific, and the distinction from sibling tools leaves no ambiguity about its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives direct instructions: pass chart_type for one varga, omit for all sixteen. It also provides a WORKFLOW note recommending the natal chart as a prerequisite, and a 'DO NOT CONFUSE WITH' section explicitly naming when not to use this tool versus the natal chart or chart strength. This covers both when to use and when to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_doshasDoshasARead-onlyIdempotentInspect
Scores twelve fixed dosha buckets from birth data and returns presence flags, typed detail objects, optional summaries, and remedy lines per dosha.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — chart familiarity before dosha interpretation. AFTER: asterwise_get_remedies — classical remedial suggestions after dosha review.
INPUT CONTRACT: BirthData follows the global contract. Unknown birth time at midnight is accepted silently.
DO NOT CONFUSE WITH: asterwise_get_chart_strength — Shadbala/Vimshopaka power metrics, not dosha booleans. asterwise_get_compatibility — pair scoring including nadi_dosha flags, not the twelve natal dosha buckets.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-doshas/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details not covered by annotations, such as 'Unknown birth time at midnight is accepted silently,' and clarifies output types like 'presence flags, typed detail objects, optional summaries, and remedy lines.' These enrich the readOnlyHint and idempotentHint already present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH), each serving a distinct purpose. It is concise yet comprehensive, avoiding redundancy while covering essential operational aspects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description includes the input contract, workflow context, differentiation from siblings, and a link to the full output/error contract. Given the tool's moderate complexity, this provides sufficient context for correct usage without needing to restate every schema detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While the schema already provides detailed descriptions for parameters, the description adds valuable semantics by noting that omitting birth time uses a sunrise chart and sets birth_time_provided=false, clarifying the behavior for the 'time' field. This goes beyond the schema's basic default description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Scores twelve fixed dosha buckets from birth data and returns presence flags, typed detail objects, optional summaries, and remedy lines per dosha.' It also explicitly differentiates from similar tools like asterwise_get_chart_strength and asterwise_get_compatibility, making its unique purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance with 'WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart' and 'AFTER: asterwise_get_remedies.' It also includes a 'DO NOT CONFUSE WITH' section that names alternatives and explains why they should not be chosen instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_dream_symbolDream SymbolARead-onlyIdempotentInspect
Lookup a specific dream symbol by slug or name (case-insensitive). Returns full dual-tradition interpretation including Jungian archetype, Vedic dream meaning with auspiciousness, context variants, and related symbols.
WORKFLOW: BEFORE: None — standalone. AFTER: None.
INPUT CONTRACT: name: Symbol slug or display name. Examples: 'snake', 'eagle', 'childhood-home', 'lotus', 'black-dog'
DO NOT CONFUSE WITH: asterwise_get_dream_symbols — full database listing with optional category filter.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-dream-symbol/
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Dream symbol slug or display name, e.g. 'snake', 'eagle', 'childhood-home', 'lotus'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent, non-destructive), the description discloses case-insensitive lookup, standalone execution, and provides a link to the full output and error contract. These are behavioral details not covered by 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, full contract link). It is concise, uses short bullet-like sentences, and avoids unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the return content (Jungian archetype, Vedic meaning, context variants, related symbols), the input format with examples, the output format options, and points to a full contract link. Combined with the schema and annotations, it gives the agent full context needed to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for both parameters. The description's INPUT CONTRACT section only repeats the name parameter details already present in the schema (e.g., examples). No additional semantic meaning is added beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action ('Lookup a specific dream symbol'), the target resource ('by slug or name (case-insensitive)'), and the output contents ('full dual-tradition interpretation...'). It also names the sibling tool it is not to be confused with, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear 'DO NOT CONFUSE WITH' guidance to distinguish from asterwise_get_dream_symbols (full listing), and includes a WORKFLOW section indicating it is standalone with no prerequisites or follow-ups. This gives explicit when-to-use and when-not-to-use direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_dream_symbolsDream SymbolsARead-onlyIdempotentInspect
Returns dream symbols from the database with dual-tradition interpretation: Jungian/Western psychological analysis and traditional Vedic dream-symbol meaning. 500 symbols across 8 categories. Optionally filter by category.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_dream_symbol — get full detail for a specific symbol.
INPUT CONTRACT: category (optional): One of animals, nature, people, places, objects, actions, body, abstract. Omit for all 500 symbols.
DO NOT CONFUSE WITH: asterwise_get_dream_symbol — single symbol detail by name.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-dream-symbols/
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Symbol category to filter by, e.g. 'animals' or 'water'. Omit for all. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations by explaining that filtering narrows results, that response_format changes output, and that there are no prerequisites. It also points to a full error contract, providing transparency about expected behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description repeats information about category values and filtering in both the main paragraph and the INPUT CONTRACT section, making it somewhat redundant. While the structure is clear (purpose, workflow, input, confusion avoidance), the repetition detracts from conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides sufficient context for a simple read-only list tool, including the distinction from the single-symbol tool and a link to the full output and error contract. It would be slightly more complete if it explicitly stated the return format (e.g., array of symbols), but the existing details are adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full descriptions for both parameters, including default values and allowed values for response_format, and the allowed categories for category. The tool description repeats this information without adding new meaning, so it does not improve parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns dream symbols with dual-tradition interpretation and mentions the scope (500 symbols, 8 categories). It explicitly distinguishes from the sibling tool asterwise_get_dream_symbol by saying 'DO NOT CONFUSE WITH...' which clarifies the specific purpose of returning a list vs a single symbol.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance via the WORKFLOW and DO NOT CONFUSE WITH sections. It states that this tool is standalone, and that for a specific symbol detail, one should use asterwise_get_dream_symbol. It also explains the optional category filter and the response_format parameter, giving clear usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_expression_numberExpression NumberARead-onlyIdempotentInspect
Calculates the Expression (Destiny) number from the full name using Pythagorean letter values. Reduces each name part separately before summing — this is the Goodwin/Balliett per-part method which preserves the vibrational weight of compound numbers within each name segment. Master numbers 11, 22, 33 are preserved and not further reduced.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_soul_urge_number — complete the core trinity (Expression, Soul Urge, Personality).
INPUT CONTRACT: name — Full legal name as used at birth. Include all name parts separated by spaces. Example: 'Arjun Mehta', 'Sofia Rossi', 'James Carter' Format: string, any case (uppercase/lowercase both accepted) Constraint: at least one alphabetic character required
DO NOT CONFUSE WITH: asterwise_get_soul_urge_number — vowels only, not all letters. asterwise_get_personality_number — consonants only, not all letters. asterwise_get_numerology_profile — returns Expression plus all other core numbers, pinnacles, challenges, and lucky numbers in one call. asterwise_get_chaldean_numerology — different letter-value system (Chaldean 1–8).
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-expression-number/
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds meaningful beyond the annotations: it discloses the Goodwin/Balliett per-part method, explains why master numbers are preserved, and clarifies that name parts are reduced separately before summing. It also points to the output/error contract URL, adding behavioral context beyond what annotations and schema convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Organized with clear labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and front-loads the core calculation method in the first sentence. Every section earns its place and the length is appropriate for a tool that needs to distinguish itself among many sibling numerology tools.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description does not need to explain return values. It covers the calculation method, input requirements, workflow position, sibling distinctions, and error/out contract via a link. There is no missing information that would prevent an agent from selecting and invoking this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds genuine value for the name parameter: full legal name as used at birth, space-separated parts, any case allowed, and a minimum one alphabaetic character constraint. It does not diacuss response_format, but the schema already fully documents that enum and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific operation: calculates the Expression/Destiny number from a full name using Pythagorean letter values, with concrete method details (per-part reduction, master number preservation). It also explicitly differentiates itself from sibling numerology tools, so an agent can immediately identify what this tool uniquely does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit WORKFLOW section stating it is standalone and names the natural after-step (soul_urge_number). Also has a dedicated DO NOT CONFUSE WITH section listing four sibling tools and the exact condition that makes them alternatives, which is ideal guidance for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_festival_calendarFestival CalendarARead-onlyIdempotentInspect
Computes all major Hindu festival dates for a given year and location. Returns 20 pan-Hindu festivals including solar sankrantis (Makar Sankranti, Vaisakhi) and tithi-based festivals (Diwali, Holi, Dussehra, Janmashtami, Ganesh Chaturthi, Ram Navami, and 12 others).
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_panchanga — drill into full Panchanga detail for any specific festival date.
INPUT CONTRACT: year: integer 1900-2100. Either location (city name) OR latitude + longitude + timezone must be provided.
DO NOT CONFUSE WITH: asterwise_get_panchanga_calendar — full Panchanga for every day of a month; not festival-specific. asterwise_get_muhurta — finds auspicious windows for activities; not a festival calendar.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-festival-calendar/
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Four-digit calendar year, e.g. 2026. | |
| latitude | No | Latitude in decimal degrees, north positive (e.g. 13.08). | |
| location | No | Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone. | |
| timezone | No | IANA time zone name, e.g. 'Asia/Kolkata'. | |
| longitude | No | Longitude in decimal degrees, east positive (e.g. 80.27). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false) are present and consistent with the description. The description adds extra context about output format options (markdown vs json) and references a full contract URL, going slightly beyond what the annotations alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and is appropriately concise. The only minor redundancy is the repeated mention of the 20 festival count, but this does not detract from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema (6 params, 100% coverage, enum, output schema) and annotations, the description provides sufficient additional context including the full documentation URL, usage alternatives, and output format behavior. It is complete for an agent to correctly invoke and understand the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has descriptions for all 6 parameters (year, latitude, location, timezone, longitude, response_format), making coverage 100%. The description reinforces the meaning of the location alternative and the response_format enum, adding value beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Computes'), the resource (major Hindu festival dates), and the scope (for a given year and location). It explicitly lists example festivals (Makar Sankranti, Diwali, Holi, etc.) and names the sibling tools it should not be confused with, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use this tool versus the alternatives: it directs users to asterwise_get_panchanga for full Panchanga detail on a specific festival date, and distinguishes itself from asterwise_get_panchanga_calendar and asterwise_get_muhurta. This provides clear usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_gemstone_recommendationsGemstone RecommendationsARead-onlyIdempotentInspect
Computes Ratna-style gemstone picks and cautions from the natal chart and returns primary, role-based stones, secondary options, contraindications, and a safety note.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — confirm chart before wearing advice. AFTER: asterwise_get_remedies — broader remedial programme if needed.
INPUT CONTRACT: BirthData follows the global contract.
DO NOT CONFUSE WITH: asterwise_get_remedies — mantras, fasting, charity rows, not a gem matrix. asterwise_get_lal_kitab_remedies — Lal Kitab actions, not classical Ratna picks.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-gemstone-recommendations/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds context by specifying that the tool computes from the natal chart, returns a structured set of categories including contraindications and safety notes, and advises confirming the chart before wearing advice. It does not add details on auth or rate limits, but this is not central for a read-only computation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main purpose sentence is front-loaded and is followed by compact, labelled sections for workflow, input contract, and exclusions. Each section adds decision-relevant value, and the docs link is a useful escape hatch rather than bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with an output schema, nested birth object, and safety annotations, the description covers the purpose, the output categories, the necessary workflow, and the alternatives to avoid. There is also a link to the full output and error contract, so an agent can resolve any remaining uncertainty. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 birth and response_format. The description only adds 'BirthData follows the global contract', which adds little beyond the schema. Baseline 3 is appropriate because the schema carries the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Computes'), names the exact resource ('Ratna-style gemstone picks and cautions from the natal chart'), and enumerates the outputs (primary stones, role-based stones, secondary options, contraindications, safety note). It clearly separates itself from sibling remedy tools in the DO NOT CONFUSE section, making tool selection unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly tells the agent to run asterwise_get_natal_chart BEFORE and asterwise_get_remedies AFTER, and the DO NOT CONFUSE section names alternatives and explains what they are not. This is explicit when-to-use and 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.
asterwise_get_ghat_chakraGhat ChakraARead-onlyIdempotentInspect
Returns the four Ghatak (inauspicious) timing parameters for a native based on their Janma Rasi (natal Moon sign).
WORKFLOW: BEFORE: None — birth data computes everything needed. AFTER: asterwise_get_nakshatra_prediction — for today's personalized daily auspiciousness score.
INPUT CONTRACT: birth — BirthData (date, time, lat, lon, timezone). Moon sign is computed from birth data.
DO NOT CONFUSE WITH: asterwise_get_nakshatra_prediction — personalised daily Tarabala score, not static Ghatak parameters. asterwise_get_panchanga — daily panchanga elements, not Ghat Chakra lookup.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-ghat-chakra/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds behavioral context beyond annotations: it clarifies that Moon sign is computed from birth data, that no prior setup is needed, and that the result is a static lookup rather than a daily score. It also links to the full output and error contract.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE) with the core purpose front-loaded. Each section adds distinct value, and the documentation link is compact. There is no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup with a full input schema, an output schema, and safety annotations, the description covers prerequisites, follow-up usage, sibling disambiguation, and points to the full output/error contract. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by stating that the birth object is the sole input and that Moon sign is derived from it, which is not explicit in the schema. The INPUT CONTRACT also summarizes the relevant birth fields (date, time, lat, lon, timezone).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Returns'), a specific resource ('four Ghatak (inauspicious) timing parameters'), and the basis ('Janma Rasi (natal Moon sign)'). The DO NOT CONFUSE section explicitly separates it from asterwise_get_nakshatra_prediction and asterwise_get_panchanga, so an agent can distinguish it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly states no prerequisites ('BEFORE: None') and recommends a follow-up tool ('AFTER: asterwise_get_nakshatra_prediction') for daily auspiciousness. DO NOT CONFUSE names two alternatives and explains why they differ, giving clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_gocharGocharARead-onlyIdempotentInspect
Computes Gochar against the natal Moon and Lagna and returns per-planet transit longitudes, houses, AVK scores, vedha flags, and a roll-up summary.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — anchors what "natal" means for the same birth record. AFTER: asterwise_get_dasha_transits — adds dasha-lord correlation for today.
INPUT CONTRACT: target_date (string, optional — YYYY-MM-DD): date to compute transits for; defaults to today if omitted. BirthData follows the global contract (time='00:00' accepted without unknown-time detection).
DO NOT CONFUSE WITH: asterwise_get_transits — ingress and station tables for a chosen date window, not a single-day Gochar snapshot. asterwise_get_dasha_transits — scores how transits meet active dasha lords, not the full nine-planet Gochar row set.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-gochar/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| target_date | No | Date in YYYY-MM-DD format. Defaults to today when omitted. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and idempotent behavior, and the description adds practical behavioral notes such as defaulting target_date to today and handling of birth time '00:00' without unknown-time detection. However, it does not elaborate on rate limits or runtime characteristics, but the provided context is sufficient given 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and front-loads the core purpose in the first sentence. While it is somewhat lengthy, each section serves a distinct purpose and the formatting aids readability, though it could be slightly more compact without losing essential disambiguation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's core functionality, provides workflow context, disambiguates from close sibling tools, and points to a full output/error contract for deeper details. Given the tool's moderate complexity (nested birth object, enums), the description is sufficient for an agent to select and invoke it correctly, though the output format could be slightly more detailed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for all parameters, so baseline is 3. The description adds extra clarity via the global contract note for birth data, specifically addressing the acceptance of '00:00' as a literal time, which supplements the schema's warning about not using it for unknown times. This added nuance justifies a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes Gochar against the natal Moon and Lagna, and enumerates specific outputs (per-planet transit longitudes, houses, AVK scores, vedha flags, roll-up summary). It explicitly distinguishes from sibling tools via the 'DO NOT CONFUSE WITH' section, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance through WORKFLOW and DO NOT CONFUSE WITH sections, recommending natal chart as a prerequisite and dasha transits as a follow-up. It also specifies what this tool is not for (ingress/station tables, dasha-lord correlation), leaving no ambiguity about its appropriate use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_horaHoraARead-onlyIdempotentInspect
Builds the twenty-four planetary Horas between successive sunrises for a location date and tags each hour with ruler, quality text, and whether it is current.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_choghadiya — alternative same-day slot system.
INPUT CONTRACT: LocationInput date/coordinate rules apply locally (YYYY-MM-DD, bounded lat/lon).
DO NOT CONFUSE WITH: asterwise_get_choghadiya — sixteen Choghadiya segments, not twenty-four Horas. asterwise_get_natal_chart — natal analysis, not hourly muhurta tables.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-hora/
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes | For tools that need location but not birth time. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include readOnlyHint=true and idempotentHint=true, covering the key behavioral aspects. The description adds context about the output (tags each hour with ruler, quality, and 'current' status) and references a full output/error contract link. This goes slightly beyond the annotations, though it doesn't explicitly mention side effects or permissions (which are covered by the readOnlyHint).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, full contract link). It is concise yet comprehensive, using bullet-like separations to convey essential information without unnecessary verbosity, especially given the large number of sibling tools it must differentiate from.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a relatively simple input structure (one nested location object) and an output schema is present. The description provides enough context to understand the tool's purpose and output, and it includes a link to the full output/error contract. Given the output schema exists, the description adequately covers what an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all properties, including date format, lat/lon ranges, timezone default, and response_format enum. The description only restates the location rules ('date/coordinate rules apply locally') without adding new semantic details beyond the schema, so it does not exceed the baseline for schema-covered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific function: 'Builds the twenty-four planetary Horas between successive sunrises for a location and tags each hour with ruler, quality text, and whether it is current.' It also explicitly differentiates from sibling tools like asterwise_get_choghadiya and asterwise_get_natal_chart, ensuring no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool versus alternatives. It states 'WORKFLOW: BEFORE: None — this tool is standalone' and 'DO NOT CONFUSE WITH' sections that clarify the differences from get_choghadiya and get_natal_chart, giving clear conditions for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_horoscopeMoon Sign HoroscopeARead-onlyIdempotentInspect
Fetches an AI-synthesised Moon-sign horoscope for a chosen horizon and returns structured guidance fields plus metadata about the model and period.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_natal_chart — if the user needs a personalised chart beyond sign-general copy.
INPUT CONTRACT: period is constrained to the tool schema enum (daily, weekly, monthly, yearly). moon_sign accepts Sanskrit (Tula, Vrischika, Karka, Simha, Kanya, Dhanu, Makara, Kumbha, Meena, Mesha, Vrishabha, Mithuna) or English (Libra, Scorpio, Cancer, Leo, Virgo, Sagittarius, Capricorn, Aquarius, Pisces, Aries, Taurus, Gemini); resolution is upstream. response_format selects JSON vs markdown rendering only.
DO NOT CONFUSE WITH: asterwise_get_natal_chart — full personalised sidereal chart from birth data, not Moon-sign editorial copy. asterwise_get_gochar — nine-planet transit snapshot vs natal chart for today, not AI horoscope prose.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-horoscope/
| Name | Required | Description | Default |
|---|---|---|---|
| period | Yes | Horoscope period: daily, weekly, monthly or yearly. | |
| moon_sign | Yes | Vedic moon sign (rashi), e.g. 'Vrishabha' or 'Taurus'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior; the description adds that this is an AI-synthesised editorial horoscope, returns structured guidance fields plus model/period metadata, and that response_format only controls rendering between markdown and JSON. It also references a full output/error contract URL, providing meaningful behavior beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than minimal, but every section earns its place: purpose, workflow, input contract, disambiguation, and documentation link. The structure is clear and front-loaded with the core purpose before supporting details, making it efficient despite its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description appropriately focuses on selection, input constraints, disambiguation, and the contract URL for full output/error details. It covers before/after workflow and alternatives, so an agent has everything necessary to invoke the tool correctly in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is already strong, but the description adds genuine value by expanding moon_sign to include Sanskrit and English rashi names, clarifying that period is constrained to the schema enum, and specifying that response_format only selects rendering mode. This helps an agent understand valid inputs beyond the basic schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear, specific action: fetches an AI-synthesised Moon-sign horoscope for a chosen horizon, and distinguishes the resource and deliverable from sibling tools. The 'DO NOT CONFUSE WITH' section explicitly contrasts it with asterwise_get_natal_chart and asterwise_get_gochar, so an agent can select it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance via WORKFLOW and DO NOT CONFUSE sections, naming the exact sibling tools and their purposes. It also notes that a personalized chart should use asterwise_get_natal_chart, giving clear exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_karmic_lessonsKarmic LessonsARead-onlyIdempotentInspect
Identifies karmic lessons by scanning all letter values in the full name and finding which digits 1–9 are absent. Each missing digit represents an area where experience is thin and development is needed in this lifetime.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_numerology_profile — see karmic lessons alongside all core numbers.
INPUT CONTRACT: name — Full legal name as used at birth. Example: 'Arjun Mehta' — scan all 9 letters for their Pythagorean digit values. Letters present: A=1, R=9, J=1, U=3, N=5, M=4, E=5, H=8, T=2, A=1 Digits present: {1,2,3,4,5,8,9} → Missing: {6,7}
DO NOT CONFUSE WITH: asterwise_get_balance_number — uses only first letters (initials), not all letters. asterwise_get_expression_number — reduces all letters to a single number; does not scan for absent digits.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-karmic-lessons/
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds transparency about error handling by linking to a full output and error contract, and it explains the computation process (scanning letters, converting to values). No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH). The example inside INPUT CONTRACT repeats some information from the opening sentence, but the overall organization aids readability and avoids being unnecessarily verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema is reported as present (context signal), the description does not need to explain return values. It does point to a full output and error contract URL for additional details, and the workflow section places the tool in a broader context. This is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover both parameters with 100% coverage, so the baseline is 3. The main description goes further by providing a concrete example ('Arjun Mehta') that illustrates how the name is processed, which adds practical semantic clarity beyond the schema text. The response_format enum is also clearly documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's specific function: identifies karmic lessons by scanning all letter values in a full name and finding missing digits 1–9. It explicitly distinguishes from sibling tools by noting that balance number uses only first initials and expression number reduces to a single digit, preventing confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use context via the workflow section (standalone, before numerology profile) and a 'DO NOT CONFUSE WITH' section that names specific alternatives and explains the exact differences (initials vs all letters, reduced vs absent digits). This gives clear guidance on selecting this tool over related options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_kp_chartKP ChartARead-onlyIdempotentInspect
Builds a KP natal chart with sub-lords on grahas and twelve cusps from BirthData using the KP ayanamsa in the response.
WORKFLOW: BEFORE: RECOMMENDED — cross-check birth record before trusting sub-lords. AFTER: asterwise_get_kp_significators — house-level significator chains.
INPUT CONTRACT: ayanamsa choice is not forced locally — mismatched settings still post to upstream. time='00:00' is accepted without warning.
DO NOT CONFUSE WITH: asterwise_get_natal_chart — classical bundle without KP sub-lords. asterwise_get_kp_ruling_planets — live moment rulers, not natal cusps.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-kp-chart/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag readOnly, idempotent, non-destructive, and the description adds non-obvious caveats: ayanamsa choice is not enforced locally and mismatched settings still post upstream, and time='00:00' is accepted without warning. This goes beyond structured fields and warns about edge cases that could corrupt interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then organized into short labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH). Every section adds distinct value and no sentence is redundant with the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, rich input schema, and safety annotations, the description supplies the remaining context: workflow position, sibling distinctions, input edge cases, and a link to the full output/error contract. An agent has enough information to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds useful parameter-level caveats beyond the schema, such as that time='00:00' is accepted without warning and ayanamsa mismatches are not locally validated; it also connects BirthData to the output without restating schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource: builds a KP natal chart with sub-lords on grahas and twelve cusps from BirthData. It also explicitly disambiguates from asterwise_get_natal_chart ('classical bundle without KP sub-lords') and asterwise_get_kp_ruling_planets ('live moment rulers, not natal cusps'), making the tool's identity clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit routing guidance: a DO NOT CONFUSE WITH section names sibling tools and states the contrast, and the WORKFLOW section says this tool precedes asterwise_get_kp_significators for house-level significator chains. It also gives a BEFORE recommendation to cross-check birth records, which helps agents decide when results are trustworthy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_kp_ruling_planetsKP Ruling PlanetsARead-onlyIdempotentInspect
Computes KP ruling planets for the instantaneous chart at lat/lon with no birth data and returns day lord, Moon/Ascendant lord chains, and a deduplicated ruling_planets list.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_kp_chart — if natal confirmation is needed afterwards.
INPUT CONTRACT: lat and lon only; no date parameter — "now" is implicit on the server clock.
DO NOT CONFUSE WITH: asterwise_get_kp_chart — needs BirthData and returns full natal KP cusps. asterwise_get_prashna_chart — horary keyword workflow, not ruling-planet snapshot.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-kp-ruling-planets/
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude in decimal degrees, north positive (e.g. 13.08). | |
| lon | Yes | Longitude in decimal degrees, east positive (e.g. 80.27). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description accurately reflects the read-only, idempotent, non-destructive annotations and adds useful behavioral details such as returning a deduplicated list and being time-dependent on the server clock. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections, but the all-caps formatting and repetitive emphasis on 'no birth data' and 'no date parameter' add some redundancy. Overall it remains concise and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description includes the key output fields, the input contract, the absence of a date parameter, and a follow-up workflow recommendation when natal confirmation is needed. It gives enough context for an agent to invoke the tool correctly without requiring additional information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage with descriptions for lat, lon, and response_format, so the baseline is 3. The description reinforces that only lat and lon are needed and explicitly states there is no date parameter, which adds useful semantic clarity beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes KP ruling planets for the current instant at a given lat/lon with no birth data, and lists the specific outputs (day lord, Moon/Ascendant lord chains, deduplicated ruling_planets list). It also explicitly distinguishes this from the KP chart and prashna chart tools, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says there is no birth data and that 'now' is implicit on the server clock, which is crucial for correct use. It also names when to use this tool versus alternatives (KP chart needs BirthData, prashna chart is for horary keywords) and provides a workflow hint to follow up with asterwise_get_kp_chart if natal confirmation is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_kp_significatorsKP SignificatorsARead-onlyIdempotentInspect
Computes KP significator chains for all houses or one optional house from BirthData and returns house tables plus planet-tier reverse indexes.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_kp_chart — establish cusps before significators. AFTER: None.
INPUT CONTRACT: house_number optional int; omit for all twelve. Values outside 1..12 are validated upstream only.
DO NOT CONFUSE WITH: asterwise_get_kp_chart — cusps and sub-lords, not tiered significator unions. asterwise_get_natal_chart — classical drishti matrices differ from KP significator tiers.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-kp-significators/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| house_number | No | House number 1-12. Omit to cover all twelve houses. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe, non-mutating behavior is known. The description adds that it computes and returns house tables plus planet-tier reverse indexes, providing useful context, but it does not describe output details or potential side effects beyond what the annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is direct and free of filler, combining the core purpose, workflow prerequisite, and disambiguation in a compact structure. Each sentence serves a distinct informative purpose, and the optional 'Full output and error contract' link is a reasonable addition rather than unnecessary bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the nested birth object and three parameters, the description plus full schema coverage provides all necessary operational context. It includes the recommended preceding workflow, clarifies sibling distinctions, summarizes the return content, and references the full output/error contract, making the tool self-sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, including nested birth fields, house_number, and response_format. The description itself adds little beyond the schema, merely restating optionality of house_number and the input source, so it does not significantly enhance parameter understanding above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Computes'), a precise resource ('KP significator chains'), and a clear scope ('for all houses or one optional house from BirthData'). It also names the primary sibling tools to avoid confusion with, making the tool's unique purpose immediately identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The workflow section explicitly recommends calling asterwise_get_kp_chart before this tool to establish cusps, giving clear when-to-use direction. The 'DO NOT CONFUSE WITH' section further clarifies how this tool differs from related KP and natal chart tools, so an agent can select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_lal_kitab_chartLal Kitab ChartARead-onlyIdempotentInspect
Produces the Lal Kitab house and planet schema plus Rin (debt) flags from BirthData using Lal Kitab placement rules. Lal Kitab uses a distinct astrological system from standard Vedic computation, with its own house-based remedies.
WORKFLOW: BEFORE: None — standalone for Lal Kitab queries. AFTER: asterwise_get_lal_kitab_remedies — practical totkas aligned to this chart.
INPUT CONTRACT: BirthData global contract; mixing interpretive systems in prose is a caller concern, not validated here.
DO NOT CONFUSE WITH: asterwise_get_natal_chart — classical radix, not Lal Kitab lk_house logic. asterwise_get_lal_kitab_remedies — remedy list without full chart geometry.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-lal-kitab-chart/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with the readOnly, idempotent, and non-destructive annotations and adds context about output contents. It does not contradict annotations, though it relies on them for side-effect transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well organized with workflow and disambiguation sections and is front-loaded with the core purpose. Minor redundancy exists between the opening paragraph and the later disambiguation note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the detailed input schema, output schema indication, and annotations, the description provides sufficient context for correct invocation and clear differentiation from numerous sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% field-level descriptions with examples and defaults. The prose adds little parameter-specific meaning beyond identifying the Lal Kitab system.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool produces the Lal Kitab house and planet schema plus Rin flags from BirthData using Lal Kitab placement rules, and explicitly distinguishes it from the natal chart and remedies tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: it is standalone for Lal Kitab queries, lists the recommended follow-up tool, and warns against confusing it with asterwise_get_natal_chart and asterwise_get_lal_kitab_remedies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_lal_kitab_remediesLal Kitab RemediesARead-onlyIdempotentInspect
Lists Lal Kitab style totkas per stressed planet from BirthData with priority tiers and typed action rows (remedy, donation, keep, avoid).
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_lal_kitab_chart — see chart before applying totkas. AFTER: None.
INPUT CONTRACT: BirthData only.
DO NOT CONFUSE WITH: asterwise_get_remedies — mantra/gem prescriptions, not Lal Kitab totkas. asterwise_get_gemstone_recommendations — classical Ratna focus, not household remedies.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-lal-kitab-remedies/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the baseline safety profile is covered. The description adds useful behavioral context beyond annotations: it lists per-planet stressed analysis, priority tiers, specific action row categories (remedy, donation, keep, avoid), and points to the output/error contract.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then organized into compact WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections. Each section earns its place, and there is no redundancy with annotations or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return-value details are already covered. The description supplies workflow context, alternative tool routing, input contract, and a link to the full output/error contract, making it complete for an agent to decide when and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already documented in the input schema. The description adds only the input contract 'BirthData only', which is useful but does not provide any additional meaning beyond the schema; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Lists') and a clear resource ('Lal Kitab style totkas per stressed planet'), and specifies the output shape (priority tiers and typed action rows). It also explicitly distinguishes itself from asterwise_get_remedies and asterwise_get_gemstone_recommendations, so an agent can select it correctly 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section gives a concrete before-step ('asterwise_get_lal_kitab_chart') and an explicit AFTER: None, and the DO NOT CONFUSE WITH section names alternatives and their differentiating focus. This makes when-to-use and when-not-to-use unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_lo_shu_gridLo Shu GridARead-onlyIdempotentInspect
Derives a Lo Shu three-by-three frequency grid from birth-date digits and annotates planes, missing or repeated digits, and per-digit traits.
WORKFLOW: BEFORE: None — standalone. AFTER: None.
INPUT CONTRACT: date string only; validated upstream.
DO NOT CONFUSE WITH: asterwise_get_numerology_profile — letter-based Western numbers, not digit-frequency Lo Shu. asterwise_get_name_correction — spelling harmonics, not birth-date grids.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-lo-shu-grid/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), lowering the bar. The description adds context beyond annotations by declaring the tool standalone (no workflow dependencies) and noting the input is validated upstream. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then uses clearly labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that each earn their place. Slightly long but efficiently organized with zero filler; the docs link consolidates the full contract rather than inlining it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out. The description covers the input contract, workflow dependencies, sibling disambiguation, and points to a docs URL for the full output/error contract. For a read-only two-parameter tool this is nearly complete, with only the error behavior deferred to the external docs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both date (YYYY-MM-DD format) and response_format (markdown/json enum with default) are documented in the schema. The description's INPUT CONTRACT note ('date string only') reinforces but does not add semantic detail beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (derives), resource (Lo Shu three-by-three frequency grid), input source (birth-date digits), and the analytical outputs (planes, missing/repeated digits, per-digit traits). It also explicitly names two sibling tools it should not be confused with, which sets it apart from the dozens of numerological siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'DO NOT CONFUSE WITH' section explicitly routes the agent to asterwise_get_numerology_profile for letter-based Western numbers and asterwise_get_name_correction for spelling harmonics. The INPUT CONTRACT states the sole accepted input (date string) and that validation is handled upstream, giving clear when-to-use and 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.
asterwise_get_lucky_numbersLucky NumbersARead-onlyIdempotentInspect
Fetches condensed lucky-number guidance for a name and birth date including primary and secondary picks, power number, interpretation, and a date_specific flag.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_numerology_profile — if deeper context is required.
INPUT CONTRACT: name and date forwarded upstream without local checks.
DO NOT CONFUSE WITH: asterwise_get_numerology_profile — full multi-section profile, not lucky-number-only payload. asterwise_get_number_meaning — dictionary entry for one integer, not personalised lucky sets.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-lucky-numbers/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format. | |
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior. The description adds useful behavioral context beyond annotations: the tool is 'condensed', includes a 'date_specific flag', and forwards name/date 'upstream without local checks'. It also links to the full output and error contract, though it does not detail failure modes inline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a front-loaded summary, then compact WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections. Every sentence adds distinguishing or operational value, and the documentation link avoids bloating the description further.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only, idempotent, 3-parameter tool with a full input schema and an output schema present, the description is complete. It covers workflow, input contract, sibling differentiation, and points to the authoritative documentation for output and error details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents name, date, and response_format with formats, defaults, and enums. The description adds no new parameter-level semantics beyond calling date a 'birth date', which the schema already captures. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: 'Fetches condensed lucky-number guidance for a name and birth date' and enumerates exact payload elements. It also explicitly differentiates from nearby siblings in the 'DO NOT CONFUSE WITH' section, so an agent can identify the tool unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The workflow section states there is no prerequisite, and that asterwise_get_numerology_profile should be used afterward if deeper context is needed. The DO NOT CONFUSE section explicitly names the alternatives and the conditions that make them inappropriate, giving clear when-to-use and 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.
asterwise_get_maturity_numberMaturity NumberARead-onlyIdempotentInspect
Calculates the Maturity number as the sum of Life Path and Expression numbers, reduced to a single digit or master number. Represents the underlying wish or true desire that becomes conscious around age 35 and fully emerges by midlife.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — confirm Life Path and Expression before interpreting their sum. AFTER: None.
INPUT CONTRACT: name — Full legal name as used at birth. Example: 'Arjun Mehta' date — Birth date in YYYY-MM-DD format. Example: '1985-11-12'
DO NOT CONFUSE WITH: asterwise_get_numerology_profile — returns maturity_number as part of the full profile. asterwise_get_personal_cycles — temporal cycles that change annually, not a fixed number.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-maturity-number/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format. | |
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds behavioral context: it derives the result from Life Path and Expression numbers, reduces to a single digit/master number, and gives the interpretive meaning (wish/true desire emerging around age 35). It does not discuss response format, but an output schema exists and a docs link is provided, so the extra burden is low.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly organized into labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that are front-loaded with the core calculation before contextual details. There is no filler; each sentence earns its place, and the docs link is placed at the end where it belongs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, idempotent calculation with a rich input schema (100% coverage) and an output schema, the description covers the essential context: workflow dependency, input contract, sibling differentiation, and a link to the full output/error contract. Nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by giving concrete input contracts for name ('Full legal name as used at birth' with example 'Arjun Mehta') and date ('YYYY-MM-DD format' with example '1985-11-12'), which clarifies ambiguous wording in the schema. response_format is not mentioned in the description, but the schema fully documents it with an enum and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculates') and resource ('the Maturity number as the sum of Life Path and Expression numbers'), and explicitly distinguishes itself from asterwise_get_numerology_profile and asterwise_get_personal_cycles in the DO NOT CONFUSE WITH section. This makes its purpose unambiguous and differentiates it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: a BEFORE workflow recommending asterwise_get_numerology_profile to confirm inputs, and a DO NOT CONFUSE WITH section listing two alternatives and the exact conditions that make them different (full profile vs fixed number; annual cycles vs fixed number). This is exactly the when/when-not guidance required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_muhurtaMuhurtaARead-onlyIdempotentInspect
Searches a date span for top-scoring muhurta windows for a named activity using Panchanga, Choghadiya, and classical siddhi flags at a location.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_panchanga — drill into Panchanga limbs for a chosen winning date.
INPUT CONTRACT: activity must be one of the supported English slugs above — not validated locally; bad values become MCP INTERNAL_ERROR. from_date/to_date ordering and span rules are enforced upstream. Location coordinates reuse LocationInput validation for lat/lon/date pattern.
DO NOT CONFUSE WITH: asterwise_get_choghadiya — enumerates all Choghadiya for one day without activity scoring across a span. asterwise_get_panchanga — single-day limb detail, not ranked muhurta search.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-muhurta/
| Name | Required | Description | Default |
|---|---|---|---|
| to_date | Yes | End of the search window for auspicious times, YYYY-MM-DD. | |
| activity | Yes | Activity to find an auspicious time for, e.g. 'marriage', 'travel', 'business opening'. | |
| location | Yes | For tools that need location but not birth time. | |
| from_date | Yes | Start of the search window for auspicious times, YYYY-MM-DD. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description adds useful behavioral context by noting that inputs are not validated locally and bad values become MCP_INTERNAL_ERROR. This clarifies error behavior and reinforces the read-only, non-destructive nature. No contradictions exist, and since annotations cover the primary safety profile, the description's extra detail earns a strong score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with clear sections (main purpose, workflow, input contract, do-not-confuse) that each serve a distinct purpose. Though somewhat lengthy, the content is largely non-redundant—the only minor repetition is the mention of Panchanga/Choghadiya in the main description and the do-not-confuse section. Given the tool's complexity and the need to disambiguate from many siblings, the length is justified and the structure aids readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is exceptionally complete: it states the exact purpose, provides workflow guidance (post-tool action), defines input contracts (including validation and error handling), explicitly distinguishes from two closely related sibling tools, and points to a full output/error contract via a link. This covers all contextual information an agent would need to decide when and how to use the tool, leaving no obvious gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all parameters with descriptions, but the description augments this by explaining the 'activity' constraint (must be a supported English slug) and the from_date/to_date ordering rules. The nested location object remains somewhat vague ('For tools that need location but not birth time'), but the child properties (lat, lon, date, timezone, response_format) are well-defined. Overall, the description adds meaningful semantics beyond the schema, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool 'searches a date span for top-scoring muhurta windows for a named activity' and specifies the underlying methods (Panchanga, Choghadiya, classical siddhi flags) and location requirement. This gives an unambiguous, specific understanding of the tool's purpose without needing to infer from the name or schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance through the 'DO NOT CONFUSE WITH' section, contrasting this tool with asterwise_get_choghadiya and asterwise_get_panchanga, and the 'WORKFLOW' section that suggests a follow-up action (asterwise_get_panchanga). These directly tell an agent when to use this tool versus alternatives and what to do next, meeting the highest bar for usage clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_nakshatra_detailsNakshatra DetailsARead-onlyIdempotentInspect
Looks up static metadata for one of twenty-seven nakshatras by exact name and returns interpretive, professional, activity, and body-map reference data.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: None.
INPUT CONTRACT: nakshatra_name is forwarded raw — no local fuzzy matching or normalisation.
DO NOT CONFUSE WITH: asterwise_get_natal_chart — computes birth nakshatra from time/place, not encyclopaedic copy. asterwise_get_dasha — uses Moon nakshatra for timing, not this lookup table.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-nakshatra-details/
| Name | Required | Description | Default |
|---|---|---|---|
| nakshatra_name | Yes | Nakshatra name, e.g. 'Rohini' or 'Uttara Phalguni'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds meaningful behavioral details beyond annotations: the lookup is static, exact-name based, and 'nakshatra_name is forwarded raw — no local fuzzy matching or normalisation.' These are useful operational traits not visible 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with a one-sentence summary, followed by clearly labeled WORKFLOW, INPUT CONTRACT, and DISAMBIGUATION sections. Every section earns its place and the external docs link handles deep error/output detail without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a static lookup tool: it states scope, input exactness, standalone behavior, sibling exclusions, expected return categories, and points to a full output/error contract. With an output schema and rich annotations present, nothing necessary for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 the parameters. The description adds value by clarifying that nakshatra_name must be exact and is forwarded raw without fuzzy matching, which is a real semantic constraint beyond the schema. It does not add detail for response_format, but the schema covers that fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'looks up static metadata for one of twenty-seven nakshatras by exact name' and names the return content. It also explicitly distinguishes itself from sibling tools in the 'DO NOT CONFUSE WITH' block, so an agent can see exactly what this tool is and is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit workflow context ('standalone', BEFORE/AFTER: None) and explicitly names two sibling alternatives with the condition that selects them: asterwise_get_natal_chart computes birth nakshatra, asterwise_get_dasha uses Moon nakshatra for timing. This gives clear when-to-use and 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.
asterwise_get_nakshatra_predictionNakshatra PredictionARead-onlyInspect
Returns a personalised daily prediction using Tarabala and Chandrabala.
WORKFLOW: BEFORE: None — birth data computes everything needed. AFTER: asterwise_get_panchanga — for full daily panchanga context.
INPUT CONTRACT: birth — BirthData (date, time, lat, lon, timezone). target_date (optional): YYYY-MM-DD. Defaults to today.
DO NOT CONFUSE WITH: asterwise_get_nakshatra_details — static nakshatra reference, not personalised prediction. asterwise_get_panchanga — daily panchanga (tithi, yoga, karana), not Tarabala scoring. asterwise_get_biorhythm — Western biorhythm cycles, not classical Vedic prediction.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-nakshatra-prediction/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| target_date | No | Date in YYYY-MM-DD format. Defaults to today when omitted. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and non-destructive; the description adds that it computes from birth data and points to a full output/error contract. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well structured with WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, and a link to the full contract. Purpose is front-loaded; some repetition with the schema exists but it is not excessive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, workflow, key input defaults, sibling distinctions, and directs users to the full output/error contract. Since an output schema exists, detailed return-value explanation is not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every parameter already has descriptions, defaults, formats, and enums. The prose input contract mostly restates the schema and omits response_format and ayanamsa, so it adds little beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with 'Returns a personalised daily prediction using Tarabala and Chandrabala', giving a specific verb, resource, and method. It also explicitly names sibling tools not to confuse with, making its scope unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-not-to-use guidance via 'DO NOT CONFUSE WITH' for nakshatra_details, panchanga, and biorhythm, and adds a workflow note that panchanga should follow for full daily context. This clearly distinguishes it from alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_name_correctionName CorrectionARead-onlyIdempotentInspect
Scores the current spelling of a personal name against the birth-date Life Path, suggests alternate spellings with harmony metrics, and echoes recommendation stub fields.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — baseline numbers before renaming advice. AFTER: None.
INPUT CONTRACT: name and date strings only; upstream validates.
DO NOT CONFUSE WITH: asterwise_get_business_name_analysis — entity Expression scan, not personal spelling alternatives. asterwise_get_chaldean_numerology — Chaldean compounds, not harmony-scored spelling list.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-name-correction/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format. | |
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds useful behavioral context about scoring, suggesting alternate spellings, and echoing recommendation stub fields, which goes beyond the annotations. The vague phrase 'stub fields' is a minor gap, but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-organized into labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH). It avoids unnecessary repetition, though the 'echoes recommendation stub fields' phrase is slightly obscure but not wordy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a full output and error contract link, identifies the tool's place in a broader workflow, and clarifies its scope relative to siblings. With an output schema present (as indicated by context signals), it does not need to detail return structures. Minor ambiguity around 'stub fields' prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for all three parameters (name, date, response_format) with descriptions already provided. The description adds minimal extra meaning beyond the INPUT CONTRACT note ('name and date strings only; upstream validates'), which is helpful but does not substantially enhance the schema-level definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's specific verb ('scores'), the subject ('personal name'), and the reference ('birth-date Life Path'), plus the action of suggesting alternate spellings. It also distinguishes itself from sibling tools like asterwise_get_business_name_analysis by explicitly noting the personal-name focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly recommends running asterwise_get_numerology_profile before using this tool, and the DO NOT CONFUSE WITH section names two specific alternatives (business name analysis and Chaldean numerology) with clear distinctions. This provides concrete when-to-use and 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.
asterwise_get_natal_chartNatal ChartARead-onlyIdempotentInspect
Computes the full sidereal natal chart from BirthData and returns planet rows, houses, aspects, arudhas, upapada, bhava cusps, and avakhada metadata.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: RECOMMENDED — asterwise_get_yogas — layer classical combinations after the base chart exists.
INPUT CONTRACT: BirthData enforces date YYYY-MM-DD, time HH:MM, lat -90..90, lon -180..180, ayanamsa enum locally (Pydantic). Unknown birth time may be entered as time='00:00' without error; lagna-sensitive results are then unreliable and callers must handle that — the API does not flag it.
DO NOT CONFUSE WITH: asterwise_get_divisional_chart — sixteen vargas only, not the primary radix bundle returned here.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-natal-chart/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
| include_interpretation | No | Include a written interpretation alongside the chart data. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent), the description discloses important behavioral details: unknown birth times are accepted as '00:00' without error but yield unreliable lagna results, and a sunrise chart is used when time is omitted. It also explains output format options and the API's lack of flagging for unreliable results, adding significant transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear paragraphs for purpose, workflow, input contract, and distinction. It is slightly verbose (e.g., repeating 'BirthData enforces...' when the schema already conveys this), but it front-loads the core purpose and keeps each section relevant. The link to full docs is a good touch, but the length could be trimmed slightly without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential context: what the tool does, how to use it, the unknown-time caveat, and a link to the full output/error contract. It does not enumerate the exact return fields, but that is available via the linked docs and the output schema reference. It is fairly complete for a tool with this complexity, though a bit more detail on common error scenarios would elevate it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides thorough descriptions for all parameters, including formats, enums, defaults, and constraints. The description adds minimal extra semantic value beyond what is in the schema, such as noting the ayanamsa enum is 'local (Pydantic)' and pointing to a documentation link. This aligns with the baseline of 3 given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Computes the full sidereal natal chart from BirthData and returns planet rows, houses, aspects, arudhas, upapada, bhava cusps, and avakhada metadata.' This is a specific verb (computes) with a clear resource (sidereal natal chart) and distinguishes it from the divisional chart sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly contrasts with 'asterwise_get_divisional_chart' by noting 'sixteen vargas only, not the primary radix bundle returned here.' Additionally, it provides workflow context ('BEFORE: None... AFTER: RECOMMENDED — asterwise_get_yogas'), guiding when this tool fits in a sequence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_number_meaningNumber MeaningARead-onlyIdempotentInspect
Returns dictionary-style numerology copy for a single integer, including interpretation, keywords, and stubbed extended fields.
WORKFLOW: BEFORE: None — standalone. AFTER: None.
INPUT CONTRACT: number must pass local guard: inclusive range one through thirty-three; values outside that band raise MCP INVALID_PARAMS before the HTTP call.
DO NOT CONFUSE WITH: asterwise_get_numerology_profile — computes personal numbers from name and date, not a static dictionary row. asterwise_get_lucky_numbers — personalised lucky list, not reference meanings.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-number-meaning/
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | Number to interpret: 1-9, or a master number 11, 22 or 33. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful context by stating it is standalone and provides a link to the full output and error contract, supplementing the annotations with additional behavioral clarity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured into clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and includes a link to full documentation. While it repeats some schema information (e.g., number range, response_format), the repetition is minimal and serves to reinforce key constraints without excessive verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema is present, the description does not need to explain return values. It provides sufficient context: the purpose, input constraints, differentiation from siblings, and a reference to the full contract. This is complete enough for an agent to decide when and how to invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by specifying the exact inclusive range (1-33) and the error condition (INVALID_PARAMS) for the number parameter, and clarifies the meaning of the response_format enum, going beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns dictionary-style numerology copy for a single integer, including interpretation and keywords. It explicitly distinguishes itself from similar sibling tools (asterwise_get_numerology_profile and asterwise_get_lucky_numbers) in the 'DO NOT CONFUSE WITH' section, making its unique purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when not to use this tool by naming the alternatives and their differences. It also outlines the input contract (inclusive range 1-33 and error behavior) and mentions output format options, giving clear instructions for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_numerology_compatibilityNumerology CompatibilityARead-onlyIdempotentInspect
Compares two people on Pythagorean Life Path numbers derived from their names and birth dates and returns a score, tier label, narrative, strengths, challenges, and advice.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile per person — sanity-check Life Paths before comparing. AFTER: None.
INPUT CONTRACT: Four strings (two names, two dates) are passed through without local guards.
DO NOT CONFUSE WITH: asterwise_get_compatibility — sidereal koota scoring, not numerology integers. asterwise_get_numerology_profile — single-person profile, not dyad scoring.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-numerology-compatibility/
| Name | Required | Description | Default |
|---|---|---|---|
| person1_date | Yes | First person's date of birth, YYYY-MM-DD. | |
| person1_name | Yes | First person's full name. | |
| person2_date | Yes | Second person's date of birth, YYYY-MM-DD. | |
| person2_name | Yes | Second person's full name. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only, idempotent, and non-destructive. The description adds valuable behavioral context: the four strings are passed through without local guards, and a sanity-check workflow is advised, plus a link to the full output/error contract. It stops short of detailing error cases but the external contract 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly organized into first-sentence summary, WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and a docs link. Every section earns its place and there is no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema present, annotations covering safety, and a description that includes workflow prerequisites, input caveats, sibling distinctions, and an external contract link, the agent has everything needed to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents formats for the four name/date parameters. The description adds meaning by clarifying that all four strings pass through without local guards and that the Life Paths are derived from names and birth dates. It also signals the response_format enum through the JSON/markdown phrasing in the schema without needing duplication.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states the specific action, 'Compares two people on Pythagorean Life Path numbers' and lists the returned artifacts: score, tier, narrative, strengths, challenges, advice. It clearly difers from siblings by naming what it is not. This exceeds basic clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly recommends calling asterwise_get_numerology_profile per person before comparing, and the DO NOT CONFUSE WITH section names the two nearest alernatives and their distinguishing conditions. This gives an agent concrete routing guidance beyond mere inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_numerology_profileNumerology ProfileARead-onlyIdempotentInspect
Builds a Pythagorean numerology profile from a legal name and birth date and returns core numbers, cycles, lucky digits, and summary copy.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_personal_year — fills Personal Year when needed.
INPUT CONTRACT: name and date strings are forwarded without extra local validation; malformed payloads fail upstream.
DO NOT CONFUSE WITH: asterwise_get_chaldean_numerology — Chaldean letter values and compound structure, not Pythagorean cores. asterwise_get_lucky_numbers — lightweight lucky list without the full profile payload.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-numerology-profile/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format. | |
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. The description adds meaningful behavioral context beyond annotations: name and date strings are forwarded without local validation and malformed payloads fail upstream, which is exactly the kind of trait an agent needs to know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in one sentence, followed by compact labeled sections for workflow, input contract, and sibling differentiation. Every section earns its place and the documentation link is a useful pointer rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a rich schema, annotations, and an output schema, so the description can focus on selection logic and behavioral caveats. It covers standalone usage, follow-up workflow, input forwarding behavior, closest alternatives, and points to the full contract, making it complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 name, date, and response_format. The description reinforces that name is the person's full name and date is a birth date, but it does not add significant semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Builds a Pythagorean numerology profile from a legal name and birth date and returns core numbers, cycles, lucky digits, and summary copy.' It clearly distinguishes this from Chaldean numerology and lucky-numbers-only tools within the same family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly says the tool is standalone and identifies asterwise_get_personal_year as the follow-up when Personal Year is needed. The DO NOT CONFUSE section names two sibling tools and explains the precise difference, giving an agent clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_panchangaPanchangaARead-onlyIdempotentInspect
Computes Panchanga elements for one calendar date at a geographic location and returns tithi, vara, nakshatra, yoga, karana, and end times in UTC.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_choghadiya — same-day slot quality for the location.
INPUT CONTRACT: date must be YYYY-MM-DD (Pydantic pattern on LocationInput). lat/lon bounds are validated locally. Upstream rejects calendar dates outside 1900–2100. timezone defaults to Asia/Kolkata when the caller leaves the default in LocationInput.
DO NOT CONFUSE WITH: asterwise_get_yogas — natal chart yogas, not Panchanga Sun–Moon yoga. asterwise_get_panchanga_calendar — whole-month daily rows, not a single day.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-panchanga/
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes | For tools that need location but not birth time. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description's 'Computes' aligns with these non-destructive, read-only semantics and adds output context (returns values in UTC). No contradiction exists. The description does not explicitly mention side effects, but the annotations cover that, so the bar is met with the added output detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with distinct sections: main purpose, workflow, input contract, and do-not-confuse. Despite containing multiple sections, it remains focused and each part serves a clear purpose. No redundant or fluffy language; it is compact while conveying necessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool computes, output specifics (UTC), input constraints, exclusions from similar tools, and even provides a link to the full output/error contract. Given the tool's moderate complexity (nested location object with optional parameters), this is a complete context for an agent to decide and call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all fields described). The description's INPUT CONTRACT adds meaningful details beyond the schema: 'date must be YYYY-MM-DD', 'lat/lon bounds are validated locally', 'Upstream rejects calendar dates outside 1900–2100', and 'timezone defaults to Asia/Kolkata'. These clarifications enhance parameter understanding, making the semantics strong.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes Panchanga elements for a single calendar date and geographic location, listing the returned values (tithi, vara, nakshatra, yoga, karana, end times). It also explicitly distinguishes itself from siblings: 'DO NOT CONFUSE WITH: asterwise_get_yogas — natal chart yogas... asterwise_get_panchanga_calendar — whole-month daily rows, not a single day.' This provides unambiguous purpose and differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The workflow section ('BEFORE: None', 'AFTER: asterwise_get_choghadiya') gives sequencing context, and the 'DO NOT CONFUSE WITH' section tells when not to use this tool. However, it lacks a direct statement like 'Use this when you need a single-day Panchanga for a location,' relying instead on exclusions to imply the usage case. Thus it is clear but could be more explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_panchanga_calendarPanchanga CalendarARead-onlyIdempotentInspect
Returns one row per civil day for a calendar month at a location with condensed tithi, vara, nakshatra, yoga, karana, and rahu_kaal columns.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_panchanga — expand any single day at full detail.
INPUT CONTRACT: year/month/lat/lon validated locally. Timezone handling follows upstream response fields (data.timezone echo).
DO NOT CONFUSE WITH: asterwise_get_panchanga — deep single-day Panchanga with degree fields, not a month grid. asterwise_get_muhurta — activity-ranked windows, not a passive calendar.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-panchanga-calendar/
| Name | Required | Description | Default |
|---|---|---|---|
| calendar | Yes | Monthly Panchanga calendar parameters. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description accurately conveys a read-only, idempotent retrieval operation and points to an external full output/error contract. The readOnlyHint and idempotentHint annotations are not contradicted; the description adds useful detail about the monthly row-oriented return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise and front-loaded with the core purpose. Some redundancy exists between the AFTER workflow note and the DO NOT CONFUSE WITH line, but it is not excessive and reinforces the key distinction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides enough context for correct use: the output shape, the distinction from the single-day tool, input validation, timezone behavior, and a link to the full contract. Given the rich input schema and sibling context, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters with ranges and defaults, and the description adds that year/month/lat/lon are validated locally and that timezone handling follows upstream response fields. response_format is not described, but the schema provides its enum and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns one row per civil day for a calendar month at a location, with condensed Panchanga fields. It also explicitly distinguishes itself from asterwise_get_panchanga, the single-day detailed version, so an agent can select the right sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit before/after workflow guidance and a direct 'DO NOT CONFUSE WITH' warning identifying asterwise_get_panchanga as the single-day alternative. This makes it clear when to use this monthly calendar tool versus a more detailed daily lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_papasamyamPapasamyamARead-onlyIdempotentInspect
Measures malefic stress from Lagna, Moon, and Venus references for each partner, compares totals, and labels compatibility level against a threshold.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_compatibility — establish baseline match quality. AFTER: None.
INPUT CONTRACT: Two BirthData objects per global contract.
DO NOT CONFUSE WITH: asterwise_get_doshas — twelve natal dosha buckets for one chart, not pairwise malefic balance. asterwise_get_compatibility — Guna Milan totals and vetoes, not Papa Samyam scoring.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-papasamyam/
| Name | Required | Description | Default |
|---|---|---|---|
| person1 | Yes | Birth data for a single person. | |
| person2 | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds meaningful behavioral detail beyond that: it compares two charts, uses three reference points, and produces a threshold-based compatibility label, plus it points to a full output/error contract URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then organized into short labeled sections for workflow, input contract, disambiguation, and documentation. Every section earns its place and there is no redundant prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex Vedic compatibility tool, the description covers the core calculation, recommended sequencing, exclusions from two similar tools, the two-person input contract, and a link to the full output and error contract. The rich input schema and output schema reduce the need for inline return value documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the nested BirthData fields are already fully documented with formats, defaults, and examples. The description only restates 'Two BirthData objects per global contract,' which does not add significant meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific computation—'Measures malefic stress from Lagna, Moon, and Venus references for each partner, compares totals, and labels compatibility level against a threshold'—with a clear verb, resource, and outcome. It also names the sibling tools it must not be confused with, making differentiation immediate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly recommends asterwise_get_compatibility as a BEFORE step, and the 'DO NOT CONFUSE WITH' section names asterwise_get_doshas and asterwise_get_compatibility with precise scoping reasons. This gives the agent clear when-to-use and when-not-to-use guidance relative to the closest siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_personal_cyclesPersonal CyclesARead-onlyIdempotentInspect
Returns the Personal Year, Personal Month, and Personal Day numbers for a given birth date and optional target date. All three cycle numbers are derived from the birth month, birth day, and the target calendar date.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_numerology_profile — see personal cycles alongside core numbers.
INPUT CONTRACT: date — Birth date in YYYY-MM-DD format. Example: '1985-11-12' year (optional int) — Target year. Defaults to current calendar year. Example: 2026 month (optional int 1–12) — Target month. Defaults to current month. Example: 5 day (optional int 1–31) — Target day. Personal Day is only returned when day is provided. Defaults to null (Personal Day omitted). Example: 1
DO NOT CONFUSE WITH: asterwise_get_personal_year — returns Personal Year only, no month or day breakdown. asterwise_get_numerology_profile — core name numbers; personal_year field is null there.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-personal-cycles/
| Name | Required | Description | Default |
|---|---|---|---|
| day | No | Day of the month 1-31. Defaults to today when omitted. | |
| date | Yes | Date in YYYY-MM-DD format. | |
| year | No | Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted. | |
| month | No | Month number 1-12. Defaults to the current month when omitted. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to reassert safety. It adds useful behavioral detail beyond annotations: the derivation basis (birth month/day plus target date), the conditional behavior of the day parameter ('Personal Day is only returned when day is provided'), and a link to the full output/error contract. Minor gap: it does not mention response_format behavior, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH), front-loaded summary, and concrete examples. Every section adds actionable information; nothing is redundant filler. The link to the full contract avoids bloat while providing a path to complete details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only computational tool with an output schema present, the description covers inputs, defaults, conditional behavior, workflow placement, and sibling differentiation. It even provides a link to the complete output/error contract, so nothing critical is missing for the agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, but the description adds concrete examples and behavioral nuances not in the schema: the day parameter's conditional effect on output, the current-calendar-year default, and the explicit statement that day defaults to null. However, there is an internal inconsistency: the description says day defaults to null and Personal Day is omitted, while the schema says day defaults to today when omitted. This weakens an otherwise strong parameter explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise verb and resource: 'Returns the Personal Year, Personal Month, and Personal Day numbers for a given birth date and optional target date.' It clearly distinguishes itself from asterwise_get_personal_year by stating this tool returns all three cycles, not just the year. The 'DO NOT CONFUSE WITH' section further disambiguates 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly documents placement before and after other tools, and the 'DO NOT CONFUSE WITH' section names specific alternatives with the exact reason to choose this tool instead. This gives the agent explicit when-to-use and 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.
asterwise_get_personality_numberPersonality NumberARead-onlyIdempotentInspect
Calculates the Personality number from consonants in the full name. All non-vowels (BCDFGHJKLMNPQRSTVWXYZ) contribute — Y is always a consonant. Reduces each name part separately, preserving master numbers 11, 22, 33.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_numerology_profile — see all five core numbers together.
INPUT CONTRACT: name — Full legal name as used at birth. Example: 'Arjun Mehta', 'Sofia Rossi' Y is always a consonant — not treated as a vowel.
DO NOT CONFUSE WITH: asterwise_get_expression_number — all letters (Expression = Soul Urge + Personality). asterwise_get_soul_urge_number — vowels only.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-personality-number/
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. The description adds meaningful behavioral detail beyond annotations: which letters count, Y always treated as a consonant, per-name-part reduction, and preservation of master numbers 11, 22, and 33. This is precisely the kind of algorithm-level context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections: calculation overview, WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and a docs link. It is front-loaded with the essential calculation rule and contains no filler; the only small redundancy is restating the Y rule, but it remains useful as an input contract reminder.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the description does not need to explain return values. It covers the input contract, examples, master-number behavior, workflow placement, sibling disambiguation, and includes a URL to the full output/error contract. Nothing essential is missing for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is adequate. The description enriches the name parameter with a fuller contract ('Full legal name as used at birth'), concrete examples, and the Y-is-always-a-consonant rule. However, this slightly conflicts with the schema's 'as commonly written' wording, creating minor ambiguity about which name form is authoritative.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: 'Calculates the Personality number from consonants in the full name.' It further differentiates from the most similar siblings by naming the Expression number (all letters) and Soul Urge number (vowels only). This makes the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly says the tool is standalone BEFORE and points to asterwise_get_numerology_profile AFTER for seeing all five core numbers together. The 'DO NOT CONFUSE WITH' section names the exact alternatives and what distinguishes them, giving an agent clear when-to-use and 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.
asterwise_get_personal_yearPersonal YearARead-onlyIdempotentInspect
Looks up the Personal Year theme for the current calendar cycle from a name and birth date using only month and day inputs server-side.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile — see other core numbers first. AFTER: None.
INPUT CONTRACT: Only name and date are submitted; the active calendar year is chosen upstream automatically.
DO NOT CONFUSE WITH: asterwise_get_numerology_profile — personal_year field there is null; this endpoint supplies the annual theme. asterwise_get_varshaphal — Vedic solar return, not Pythagorean Personal Year.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-personal-year/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date in YYYY-MM-DD format. | |
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already communicate readOnly, idempotent, and non-destructive behavior. The description adds valuable context beyond that: the active calendar year is chosen upstream automatically, only month/day are used server-side, and a full output/error contract link is provided. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clearly labeled sections: WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH. Every section earns its place, the core purpose is front-loaded, and the link to the output/error contract avoids unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, robust annotations, and a detailed description covering workflow, input semantics, sibling distinctions, and a documentation link, the description is complete enough for an agent to invoke the tool correctly without further information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics by clarifying that the provided date's year is effectively ignored and the active calendar year is selected automatically, plus the input contract that name and date are the only meaningful inputs. A minor inconsistency exists because response_format is part of the schema while the description says 'Only name and date are submitted,' but this is not seriously misleading.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and object: 'Looks up the Personal Year theme for the current calendar cycle from a name and birth date.' It also clarifies the server-side month/day behavior and explicitly distinguishes itself from asterwise_get_numerology_profile and asterwise_get_varshaphal, so an agent can tell it apart from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a WORKFLOW section recommending asterwise_get_numerology_profile as a prerequisite and a 'DO NOT CONFUSE WITH' section naming two siblings and why they are different. This gives explicit routing guidance and exclusions, which is exactly what an agent needs to choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_pitra_doshaPitra DoshaARead-onlyInspect
Detects and analyses Pitru Dosha (Pitru Shapa — Ancestral Curse) using all five classical Pitru Dosha combinations.
WORKFLOW: BEFORE: None — birth data computes everything needed. AFTER: asterwise_get_puja_suggestions — recommend remedial pujas for Sun/Mars.
INPUT CONTRACT: birth — BirthData (date, time, lat, lon, timezone).
DO NOT CONFUSE WITH: asterwise_get_doshas — returns pitru_dosha as one of twelve doshas with less detail. Use this tool when dedicated Pitru Dosha analysis is needed.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-pitra-dosha/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 context on top: it confirms birth data alone computes everything, mentions the exact classical combinations covered, and links to a full output/error contract. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections, making it easy to scan. It includes a documentation URL for full details. It is slightly more verbose than strictly necessary, but every section earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers prerequisites (none), downstream workflow, sibling disambiguation, and points to a full output/error contract URL. Combined with the rich input schema, annotations, and output schema, the agent has everything needed to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents all parameters and nested properties. The description only restates the birth contract at a high level and does not add new meaning 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Detects and analyses Pitru Dosha' using all five classical combinations. It also explicitly differentiates itself from asterwise_get_doshas, saying that sibling returns less detail. This makes the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit routing guidance: 'DO NOT CONFUSE WITH asterwise_get_doshas' and 'Use this tool when dedicated Pitru Dosha analysis is needed.' It also provides a workflow context, noting that puja suggestions come after via asterwise_get_puja_suggestions. This is strong, actionable usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_planet_naturePlanet NatureARead-onlyIdempotentInspect
Returns classical graha (planet) properties for all nine planets or a single planet per classical Vedic tradition.
WORKFLOW: BEFORE: None — standalone reference. AFTER: asterwise_get_puja_suggestions — propitiation for a specific graha.
INPUT CONTRACT: planet (optional): One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. Omit to get all nine planets.
DO NOT CONFUSE WITH: asterwise_get_puja_suggestions — ritual propitiation per planet, not properties. asterwise_get_rudraksha — bead recommendations per planet, not natal properties.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-planet-nature/
| Name | Required | Description | Default |
|---|---|---|---|
| planet | No | Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: it is a standalone reference tool, follows classical Vedic tradition, and can return either all planets or one planet; it also links to the full output and error contract. It adds value beyond the annotations 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into short, labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE) with the core purpose front-loaded in the first sentence. Every section earns its place by aiding tool selection or invocation, and the formatting makes scanning easy despite the large sibling list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only reference tool with two optional parameters and an output schema, the description is complete: it states purpose, input contract, workflow context, sibling disambiguation, and points to the full output/error contract via URL. Nothing an agent needs to select or invoke this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds meaning for the 'planet' parameter by enumerating all nine allowed values and explicitly stating that omitting it returns all planets. The 'response_format' parameter is already well-explained by the schema enum, so the description does not need to repeat it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and resource ('classical graha (planet) properties'), and clearly scopes the operation to 'all nine planets or a single planet'. The 'DO NOT CONFUSE WITH' section explicitly distinguishes it from puja suggestions and rudraksha recommendations, making sibling differentiation strong.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section states there is no prerequisite ('BEFORE: None') and names the natural follow-up tool ('AFTER: asterwise_get_puja_suggestions'). The 'DO NOT CONFUSE WITH' block explicitly names alternatives and why they are different, giving clear when-to-use versus 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.
asterwise_get_poruthamPoruthamARead-onlyIdempotentInspect
Runs the Tamil ten-porutham checklist for two charts, counts passes out of ten, surfaces Rajju/Vedha classical condition booleans, and returns per-porutham evidence objects.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart per native. AFTER: asterwise_get_thirumana_porutham — extended twelve-koota read if needed.
INPUT CONTRACT: Two BirthData objects per global contract.
DO NOT CONFUSE WITH: asterwise_get_thirumana_porutham — twelve poruthams including Nadi and Varna, not ten. asterwise_get_dashakoot — South Indian float scoring, not Tamil pass grid.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-porutham/
| Name | Required | Description | Default |
|---|---|---|---|
| person1 | Yes | Birth data for a single person. | |
| person2 | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read. The description adds value by specifying what the output contains: pass count out of ten, Rajju/Vedha condition booleans, and per-porutham evidence objects. It also links to a full output and error contract. This goes beyond the annotations 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well structured with clear labeled sections: WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH. The key scoping sentence is front-loaded, and every section earns its place. The documentation URL is practical and not filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a high-complexity tool with two nested BirthData objects, an output schema, and multiple sibling tools, the description covers purpose, workflow, input contract, sibling differentiation, and links to the full output/error contract. The output schema is present, so return values need not be fully explained in the description. Nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds the input contract reference 'Two BirthData objects per global contract' and points to the documented error contract. Baseline 3 applies for high coverage, and the description earns a 4 by explicitly framing the two-person requirement above what the schema literally states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Runs the Tamil ten-porutham checklist for two charts, counts passes out of ten, surfaces Rajju/Vedha classical condition booleans, and returns per-porutham evidence objects.' It clearly distinguishes this tool from siblings by naming the alternative twelve-porutham tool and the dashakoot tool in the DO NOT CONFUSE WITH section.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly says BEFORE: RECOMMENDED asterwise_get_natal_chart per native, and AFTER: asterwise_get_thirumana_porutham if an extended twelve-koota read is needed. It also names alternatives and the conditions that select them: twelve poruthams including Nadi and Varna versus ten, and dashakoot float scoring versus Tamil pass grid. This is explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_prashna_chartPrashna ChartBRead-onlyIdempotentInspect
Casts a Prashna chart for the query instant using supplied date, time, place, and a single-topic keyword, then returns houses, Moon diagnostics, verdict, and cusps.
WORKFLOW: BEFORE: None — standalone for horary. AFTER: None.
INPUT CONTRACT: question must be exactly one of: self, wealth, siblings, property, children, health, marriage, death, travel, career, gains, loss. Full sentences are not validated locally and are rejected upstream → MCP INTERNAL_ERROR at the tool layer. PrashnaInput enforces date/time/lat/lon/ayanamsa patterns locally.
DO NOT CONFUSE WITH: asterwise_get_natal_chart — requires birth data, not query-moment prashna. asterwise_get_kp_chart — natal KP from birth time, not horary keyword mapping.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-prashna-chart/
| Name | Required | Description | Default |
|---|---|---|---|
| prashna | Yes | Prashna (horary) query parameters. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with the annotations (readOnly, idempotent, non-destructive) but does not add any extra behavioral context such as side effects, rate limits, or authorization requirements. Since annotations already cover the key traits, this is acceptable but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that conveys the essential functionality without unnecessary detail or fluff. It is highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a basic idea of what the tool does but lacks context about the nature of Prashna (horary astrology) or any specifics about the expected output format. It is adequate for a simple task but not comprehensive given the complex nested input and output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description maps the main parameters (date, time, place, keyword) to meaningful roles, but it omits mention of ayanamsa and response_format, which are present in the schema. It provides partial semantic coverage but not full parameter explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (casting a Prashna chart) and the key inputs (date, time, place, keyword) and outputs (houses, Moon diagnostics, verdict, cusps). It is slightly generic but sufficient for a high-level understanding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling tools (e.g., natal, KP, compatibility). It does not differentiate use cases, leaving the agent to infer from the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_puja_suggestionsPuja SuggestionsARead-onlyIdempotentInspect
Returns puja (ritual worship) recommendations for planetary propitiation per graha.
WORKFLOW: BEFORE: asterwise_get_natal_chart — identify afflicted planets before recommending pujas. AFTER: asterwise_get_rudraksha — complementary bead-based remedy.
INPUT CONTRACT: planet (optional): One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. Omit to get all nine planets.
DO NOT CONFUSE WITH: asterwise_get_remedies — personalised remedies from natal chart analysis. asterwise_get_rudraksha — bead recommendations, not puja rituals.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-puja-suggestions/
| Name | Required | Description | Default |
|---|---|---|---|
| planet | No | Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior, and the description adds useful behavioral context such as omitting planet returns all nine ggrahas and positioning pujas as complementary to rudraksha. The link to the full output/error contract handles the remaining behavioral disclosure without cluttering the text.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a crisp purpose sentence and uses labeled short sections such as WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE, so an agent can scan quickly. Every section carries distinct information and there is no filler or repetition of schema/annotation values.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an output schema and safety annotations, the description covers workflow context, parameter semantics, sibling disambiguation, and points to the full contract. An agent choosing between this and any of the many siblings has enough context to route correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description still adds a complete enumeration of the nine allowed planet values plus the omit-for-all behavior, which the schema only hints at with examples. The response_format parameter is already fully described in the schema, so no further prose is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource: 'returns puja (ritual worship) recommendations for planetary propitiation per ggraha'. The 'DO NOT CONFUSE' section explicitly separates it from asterwise_get_remedies and asterwise_get_rudraksha, making the purpose unambiguous even among many siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
WORKFLOW provides explicit before/after tool relationships: natal chart first, rudraksha after, and the DO NOT CONFUSE section names the closest alternatives. The INPUT CONTRACT also tells the agent when to omit planet versus supply a specific ggraha.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_rahu_kaalRahu KaalARead-onlyIdempotentInspect
Computes Rahu Kaal, Gulika Kaal, and Yamaganda Kaal intervals from diurnal length at a location and marks whether Rahu Kaal is active now in local time.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_choghadiya — broader auspicious/inauspicious grid for the day.
INPUT CONTRACT: LocationInput validates date pattern and coordinates locally.
DO NOT CONFUSE WITH: asterwise_get_choghadiya — full day/night slot tables, not only the three kaal bands. asterwise_get_panchanga — Panchanga limbs, not kaal timers.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-rahu-kaal/
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes | For tools that need location but not birth time. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds that it computes and marks based on diurnal length and local time, which is transparent and consistent. No side effects or hidden actions are implied, and with annotations present, this level of disclosure 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main description is one concise sentence that front-loads the core purpose. The additional WORKFLOW and INPUT CONTRACT sections are structured and mostly non-redundant, though the input contract partially repeats schema information. Overall, it is well-organized and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an astrological tool with multiple intervals and disambiguation needs, the description covers the essential information: what it computes, how it uses location and time, and how it differs from closely related tools. It is complete enough for an agent to decide when and how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full descriptions for all parameters (100% coverage), so baseline is 3. The description adds context by mentioning 'diurnal length' (implying lat/lon usage) and 'local time' (implying timezone importance), which helps an agent understand parameter relevance beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the exact function: computing Rahu Kaal, Gulika Kaal, and Yamaganda Kaal intervals from diurnal length and marking active status. It explicitly names the three intervals and the 'active now' feature, distinguishing it from the sibling choghadiya tool which covers full day/night slot tables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'DO NOT CONFUSE WITH' section explicitly contrasts this tool with asterwise_get_choghadiya and asterwise_get_panchanga, providing clear conditions for when this tool should be used (for the three kaal bands specifically) versus alternatives. This gives direct guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_remediesRemediesARead-onlyIdempotentInspect
Derives classical remedial prescriptions from planetary weakness and dusthana lordship and returns mantra, lifestyle, charity, and dignity tables.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — chart context before choosing remedies. AFTER: asterwise_get_gemstone_recommendations — optional focused gem briefing.
INPUT CONTRACT: BirthData follows the global contract.
DO NOT CONFUSE WITH: asterwise_get_lal_kitab_remedies — household Lal Kitab totkas, not mantra/gem classical rows. asterwise_get_gemstone_recommendations — gemstone roles and contraindications only, not full lifestyle remedies.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-remedies/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly/idempotent/non-destructive. Description adds a full output/error contract URL and clarifies it returns tables, which is consistent. No contradictions; the error contract link provides extra 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is somewhat verbose with multiple labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, plus a URL). However, the sections are structured and each adds distinct value; the main purpose is front-loaded. Slightly wordy but acceptable for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested birth object, two parameters, many siblings), the description is complete: it provides workflow context, clarifies input contract, contrasts with similar tools, and points to full output/error documentation. An agent has enough information to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%—every field and sub-field has a detailed description with examples. The description adds no new parameter semantics beyond the 'BirthData follows the global contract' note, which simply references a shared structure already fully documented in the schema. Baseline 3 applies due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States precisely what it does: derives classical remedial prescriptions from planetary weakness and dusthana lordship, returning mantra, lifestyle, charity, and dignity tables. Explicitly contrasts with sibling tools (lal_kitab_remedies and gemstone_recommendations) to avoid confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit workflow guidance: recommends getting natal chart first and optionally following with gemstone recommendations. Also clearly states what this tool is NOT for (household Lal Kitab totkas, gemstone-only), giving clear when-to-use vs. 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.
asterwise_get_rudrakshaRudrakshaARead-onlyIdempotentInspect
Returns Rudraksha bead recommendations per planet.
WORKFLOW: BEFORE: asterwise_get_natal_chart — identify planets needing support. AFTER: None.
INPUT CONTRACT: planet (optional): One of Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu. Omit to get all nine planets.
DO NOT CONFUSE WITH: asterwise_get_gemstone_recommendations — Ratna-style gemstones from natal chart. asterwise_get_puja_suggestions — ritual worship, not bead recommendations.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-rudraksha/
| Name | Required | Description | Default |
|---|---|---|---|
| planet | No | Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description need not repeat those. It adds context by specifying the workflow dependency, the behavior when planet is omitted ('Omit to get all nine planets'), and points to a full output/error contract. This exceeds the annotation baseline 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly structured and front-loaded with a one-sentence purpose. The WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections are scannable and each adds distinct value. There is no filler or redundant restating of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the read-only idempotent annotations, optional parameters, and available output schema, the description is complete enough for an agent to invoke the tool correctly. It covers prerequisites, parameter values, sibling disambiguation, and points to the full output/error contract. No critical contextual gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes further by enumerating the exact allowed planet values (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu) and explaining the omission behavior, which the schema does not fully specify. This adds meaningful guidance beyond the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: 'Returns Rudraksha bead recommendations per planet.' It clearly scopes the tool to per-planet bead recommendations and explicitly contrasts it with gemstone and puja tools in the 'DO NOT CONFUSE WITH' section, making sibling differentiation strong.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly names the prerequisite tool (asterwise_get_natal_chart) and explains why it should be called first: to identify planets needing support. It also names two similar-sounding tools and clarifies why they are not appropriate, giving the agent explicit selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_soul_urge_numberSoul Urge NumberARead-onlyIdempotentInspect
Calculates the Soul Urge (Heart's Desire) number from vowels in the full name. Only A, E, I, O, U are treated as vowels — Y is always a consonant in this system. Reduces each name part separately before summing, preserving master numbers 11, 22, 33.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_personality_number — complete the name number trinity.
INPUT CONTRACT: name — Full legal name as used at birth. Example: 'Arjun Mehta', 'Sofia Rossi' Y is always treated as a consonant — not a vowel.
DO NOT CONFUSE WITH: asterwise_get_expression_number — all letters, not vowels only. asterwise_get_personality_number — consonants only, not vowels.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-soul-urge-number/
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Person's full name as commonly written; letters are converted to numerology values. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior, so the bar for additional disclosure is lower. The description adds meaningful algorithmic transparency by specifying that Y is always a consonant and that master numbers 11, 22, 33 are preserved, which helps the agent anticipate results. It does not detail failure modes, but the output schema and linked docs likely cover those.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with separate sections for purpose, workflow, input contract, and disambiguation. It is concise overall, but there is minor redundancy: the Y-as-consonant rule appears in both the main description and the input contract. Still, the structure aids readability and no unnecessary fluff is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description includes all necessary context for correct invocation: the input format, the output format options, a link to the full output/error contract, and clear differentiation from similar tools. Given the tool's relative simplicity and the presence of an output schema (per context signals), the description is sufficiently complete for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptive text, providing a baseline of 3. The tool description adds extra semantic value by clarifying the 'name' parameter as the full legal name at birth and emphasizing the vowel rule, which is not fully captured in the schema description. This pushes the score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description precisely states the tool calculates the Soul Urge number from vowels in the full name, naming the specific resource and verb. It further distinguishes it from sibling tools by explicitly contrasting with expression (all letters) and personality (consonants) numbers, making it clear which tool to select.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance by naming the tools not to confuse with (expression and personality numbers) and clarifies the vowel-only vs. all-letters vs. consonants distinction. It also indicates a follow-up tool (personality number) to complete the name trinity, providing clear when-to-use and when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_special_ascendantsSpecial AscendantsARead-onlyIdempotentInspect
Calls atmakaraka and ishta-devata endpoints sequentially and merges their payloads into top-level atmakaraka and ishta_devata objects for one BirthData.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — understand chart basics before devotional pointers. AFTER: None.
INPUT CONTRACT: Wrapper returns { atmakaraka: , ishta_devata: } — not a flat data.* root; consumers must read nested .data fields inside each branch per upstream shape.
DO NOT CONFUSE WITH: asterwise_get_natal_chart — general chart; does not compute ishta devata workflow. asterwise_get_char_dasha — timing system using karakas, not deity discovery.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-special-ascendants/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish readOnly, idempotent, and non-destructive behavior, but the description adds major behavioral context: it calls upstream endpoints sequentially, merges payloads, and returns a top-level wrapper with nested data fields rather than a flat root. WARNING about nested .data fields and a link to the full output/error contract go well beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into labeled WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections, and every sentence carries unique information. The key facts are scoped the composite call and output shape, are presented immediately, and the sibling disambiguation is efficient without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's composite nature, the readOnly/idempotent annotations, and the presence of an output schema, the description covers all important invocation concerns: prerequisite call, post-tool behavior, nested output shape, and to full contract documentation. The agent has everything needed to call the tool correctly and parse its response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already fully documents birth fields, response_format, defaults, constraints, enums, and formats. The description only refers to 'one BirthData' and does not add per-parameter meaning beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately identifies this as a composite tool that calls the atmakaraka and ishta-devata endpoints and merges their payloads into top-level atmakaraka and ishta_devata objects for one BirthData. It explicitly contrasts it with asterwise_get_natal_chart and asterwise_get_char_dasha, which separates it from a large sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a WORKFLOW section naming asterwise_get_natal_chart as a recommended prerequisite and states that there is no AFTER step, giving an agent an explicit sequence. The DO NOT CONFUSE section names two alternatives and explains why each is not appropriate, satisfying both the 'when to use' and 'when-not-to-use' requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_tamil_panchangaTamil PanchangaARead-onlyIdempotentInspect
Returns Tamil-specific Panchanga for a date and location: all four inauspicious periods (Rahu Kalam, Yamagandam, Kuligai, Emagandam), Nalla Neram (auspicious daytime windows between inauspicious periods), and the Tamil solar month name based on the Sun's sidereal sign at sunrise.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_panchanga — for full Vedic five-limb panchanga of the same date.
INPUT CONTRACT: date: YYYY-MM-DD format. Either location (city name) OR latitude + longitude + timezone must be provided.
DO NOT CONFUSE WITH: asterwise_get_rahu_kaal — North Indian Rahu/Gulika/Yamaganda only; no Emagandam, Nalla Neram, or Tamil month. asterwise_get_panchanga — five Vedic limbs (tithi, vara, nakshatra, yoga, karana); not Tamil-specific periods.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tamil-panchanga/
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date for the Tamil panchanga, YYYY-MM-DD. | |
| latitude | No | Latitude in decimal degrees, north positive (e.g. 13.08). | |
| location | No | Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone. | |
| timezone | No | IANA time zone name, e.g. 'Asia/Kolkata'. | |
| longitude | No | Longitude in decimal degrees, east positive (e.g. 80.27). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description never contradicts those. The description adds useful behavioral context: the exact output categories returned, the input constraint that either location or coordinates+timezone must be provided, and a link to the full output/error contract. It does not cover error/auth/rate-limit behavior, but with annotations carrying the safety profile, the description adds appropriate extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence carries the core purpose and output content, and the rest is organized into tight labeled blocks: WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and a docs link. Each section earns its place and no sentence is redundant with the schema. The structure makes it easy for an agent to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the six-parameter schema, the existing output schema, and annotations that establish the read-only/idempotent profile, the description covers the key decisions: what the tool returns, how to supply the date and location/coordinates, and which sibling tools to avoid. Residual details such as exact error formats and full output fields are delegated to the linked docs and output schema, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 a non-obvious grouping constraint not stated in the schema: 'Either location (city name) OR latitude + longitude + timezone must be provided.' It also reafirms the date format. This is meaningful extra meaning beyond what the property descriptions alone supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 Tamil-specific Panchanga for a date and location', then enumerates the distinct contents: four inauspicious periods, Nalla Neram, and the Tamil solar month. It also names similar siblings in the DO NOT CONFUSE WITH block, so the agent can differentiate it from asterwise_get_rahu_kaal and asterwise_get_panchanga without opening their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly states this is standalone and that asterwise_get_panchanga should be used after for the full Vedic five-limb panchanga. The DO NOT CONFUSE WITH block gives clear when-not-to-use guidance and names the exact alternatives with one-line distinctions. This is explicit alternatives/routing guidance, not merely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_tarot_cardTarot Card LookupARead-onlyIdempotentInspect
Returns full structured data for a single card identified by its slug ID. Useful for card detail pages, single-card lookups, and displaying a specific card after the user selects one by name.
WORKFLOW: BEFORE: None — standalone. AFTER: None.
INPUT CONTRACT: card_id — Slug identifier for the card. Must be exact. Major Arcana examples: 'the-fool', 'the-magician', 'the-high-priestess', 'the-empress', 'the-emperor', 'the-hierophant', 'the-lovers', 'the-chariot', 'strength', 'the-hermit', 'wheel-of-fortune', 'justice', 'the-hanged-man', 'death', 'temperance', 'the-devil', 'the-tower', 'the-star', 'the-moon', 'the-sun', 'judgement', 'the-world' Minor Arcana pattern: '{rank}-of-{suit}' Examples: 'ace-of-wands', 'two-of-cups', 'ten-of-swords', 'page-of-pentacles', 'knight-of-wands', 'queen-of-cups', 'king-of-swords'
DO NOT CONFUSE WITH: asterwise_get_tarot_cards — returns all 78 cards in one call. asterwise_draw_tarot_cards — random draw, not a specific card.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-card/
| Name | Required | Description | Default |
|---|---|---|---|
| card_id | Yes | Tarot card identifier in kebab-case, e.g. 'the-fool' or 'ace-of-wands'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description does not need to restate those. It adds valuable context such as the exact-slug requirement, the output/error contract link, and the distinction from bulk/random card tools. This is appropriate given the strong annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with clear sections: summary, workflow, input contract, disambiguation, and docs link. The major arcana list is long but genuinely useful for exact-slug lookup. The workflow section is arguably unnecessary because it just says 'None', but overall the description remains well-organized and purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two parameters, one required, full schema coverage, an output schema, and annotations covering safety/idempotency, the description covers the remaining needs: valid values, disambiguation from siblings, and a reference to the full output/error contract. Nothing important is missing for an agent to correctly invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the baseline is already strong. The description adds value beyond the schema by providing an extended list of valid Major Arcana slugs, a clear Minor Arcana pattern, and explicit 'must be exact' guidance. This helps an agent construct valid card_id values without trial and error.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns full structured data for a single card identified by slug ID, which is a specific verb-resource pairing. It also explicitly distinguishes itself from siblings like asterwise_get_tarot_cards and asterwise_draw_tarot_cards, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete use cases (card detail pages, single-card lookups, post-selection display) and explicitly names alternatives not to confuse it with, including when to use those alternatives. This is explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_tarot_card_of_the_dayTarot Card of the DayARead-onlyIdempotentInspect
Returns a deterministic daily tarot card seeded by SHA-256 hash of the date string. The same card is returned for all callers on the same date — this is intentional. The daily card is not a reading for an individual but a collective daily energy.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_tarot_three_card_spread — for deeper daily reading context.
INPUT CONTRACT: date (optional string YYYY-MM-DD) — Date to get the card for. Defaults to today. Example: '2026-05-01' allow_reversed (optional bool) — Default: false. When true: reversed state is also deterministic (seeded by date+'_rev'). When false: card is always upright regardless of date.
DO NOT CONFUSE WITH: asterwise_draw_tarot_cards — random draw, different every call. asterwise_get_tarot_three_card_spread — positional reading with question context.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-card-of-the-day/
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date in YYYY-MM-DD format. Defaults to today when omitted. | |
| allow_reversed | No | Whether cards may be drawn reversed (upside down). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent hints, the description explains the SHA-256 seeding, deterministic behavior across callers, and the distinction from individual readings. This adds meaningful context about side effects (none) and output consistency, exceeding what annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, link to documentation) and front-loaded purpose. It is somewhat verbose, repeating schema info in prose, but the redundancy is not excessive and each section earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, parameters, workflow, alternatives, and points to a full output/error contract via URL. Given the tool's low complexity (3 simple params) and presence of an output schema, nothing is left ambiguous for a typical caller.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all three parameters (date, allow_reversed, response_format) with 100% coverage. The description adds extra determinism detail for allow_reversed (seeded by date+'_rev') but omits any mention of response_format, missing an opportunity to clarify the JSON output. Still, it adds some value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a deterministic daily tarot card seeded by a date hash, and explicitly differentiates it from random draw and three-card spreads. It also clarifies the collective, non-individual nature of the reading, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit BEFORE/AFTER workflow context and a 'DO NOT CONFUSE WITH' section naming alternative tools (random draw and three-card spread). It also notes the date defaults to today, giving concrete guidance on when to use this tool and when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_tarot_cardsTarot Cards CatalogueARead-onlyIdempotentInspect
Returns the complete 78-card Rider-Waite-Smith deck with full metadata. Each card includes id (slug), name, arcana_type (major/minor), suit, number, element, astrology_correspondence, upright and reversed meanings, keywords for both orientations, yes/no polarity, and visual description.
WORKFLOW: BEFORE: None — standalone catalogue endpoint. AFTER: asterwise_draw_tarot_cards or asterwise_get_tarot_three_card_spread — use card data from this endpoint to build enriched display layers.
INPUT CONTRACT: response_format (optional): markdown (default) | json, as on every Asterwise tool. No other parameters.
DO NOT CONFUSE WITH: asterwise_get_tarot_major_arcana — returns only the 22 Major Arcana subset. asterwise_get_tarot_suit — returns only the 14 cards of a single suit. asterwise_draw_tarot_cards — returns a random draw, not the catalogue.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-cards/
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful context beyond that: it is a standalone endpoint, returns the complete deck rather than a subset, and is meant to feed 'enriched display layers' in downstream tarot draw/spread tools. It also links to a full output and error contract, so the agent has a clear behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well structured with clear headings and the core purpose is front-loaded in the first sentence. The WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections each serve a distinct purpose, though the 'BEFORE: None' line is slightly filler and the total length is a bit longer than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: one optional enum parameter, an output schema, and no required inputs. The description covers what it returns, the metadata fields, workflow context, sibling disambiguation, and a link to the full contract. Nothing an agent needs to select and invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the only parameter, response_format, is fully documented with enum values, a default, and an explanatory description. The description's INPUT CONTRACT merely summarizes the schema and confirms there are no other parameters, adding no new semantic detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a specific verb and resource: 'Returns the complete 78-card Rider-Waite-Smith deck with full metadata,' and enumerates the fields included. It also explicitly contrasts itself with three sibling tools in the 'DO NOT CONFUSE WITH' section, making it easy to distinguish from major_arcana, suit, and draw.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section states there are no prerequisites and recommends using this tool before asterwise_draw_tarot_cards or asterwise_get_tarot_three_card_spread to build enriched display layers. The 'DO NOT CONFUSE WITH' section gives explicit conditions for when to use alternatives: major_arcana for 22 cards, suit for 14 cards, draw for random selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_tarot_celtic_crossTarot Celtic CrossARead-onlyInspect
Ten-card Celtic Cross spread — traditional ten-position tarot layout. Draws 10 unique cards using cryptographic randomness and assigns each to one of the 10 classical Celtic Cross positions.
WORKFLOW: BEFORE: None — standalone reading, or follow asterwise_get_tarot_three_card_spread when a more detailed examination of the same question is needed. AFTER: None.
INPUT CONTRACT: allow_reversed (bool, default false) — Each card independently has 50% reversal chance. question (optional string, max 500 chars) — The question or situation being examined. Example: 'Should I accept the job offer in London?'
DO NOT CONFUSE WITH: asterwise_get_tarot_three_card_spread — 3 positions only; use for simpler questions. asterwise_draw_tarot_cards — free draw with no positional meaning. asterwise_get_tarot_yes_no — binary answer, not positional analysis.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-celtic-cross/
| Name | Required | Description | Default |
|---|---|---|---|
| question | No | The question being asked; it shapes the reading's interpretation. | |
| allow_reversed | No | Whether cards may be drawn reversed (upside down). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses key behavioral traits: unique non-repeating cards, cryptographic randomness, and the independent 50% reversal chance when allowed. This explains the non-idempotent nature and adds context the annotations alone do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and organized with clear labels (WORKFLOW, BEFORE, AFTER, INPUT CONTRACT). Every section adds decision-relevant information and avoids filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tarot tool with an output schema and contract link, the description covers the spread layout, card uniqueness, randomness, reversal behavior, input constraints, and relation to sibling tools. No critical calling information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters, but the description adds meaningful detail: 'allow_reversed' has an explicit 50% reversal rule, 'question' has a 500-character limit and an example, and the output/error contract is linked. 'response_format' is less described in prose but is fully covered by the schema enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific tool ('Ten-card Celtic Cross spread') and states exactly what it does: draws 10 unique cards using cryptographic randomness and assigns them to the 10 classical positions. It also names sibling tools it should not be confused with, so an agent can select it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly says when to use this tool standalone and when to follow the three-card spread, and the 'DO NOT CONFUSE WITH' section lists three alternatives with their distinguishing use cases. This gives an agent explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_tarot_major_arcanaTarot Major ArcanaARead-onlyIdempotentInspect
Returns all 22 Major Arcana cards (The Fool through The World) as a structured array. Major Arcana represent universal archetypes and major life themes.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_draw_tarot_cards — draw from this subset by filtering by arcana_type.
INPUT CONTRACT: response_format (optional): markdown (default) | json.
DO NOT CONFUSE WITH: asterwise_get_tarot_cards — full 78-card deck including Minor Arcana. asterwise_get_tarot_suit — 14 Minor Arcana cards by suit.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-major-arcana/
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: the result is a structured array of exactly 22 cards, response_format switches between markdown and json, and a full output/error contract is linked. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description leads with the core purpose, then uses compact labeled sections for workflow, input contract, disambiguation, and documentation. This is easy for an agent to scan. It is slightly longer than the single-parameter tool strictly requires, but every section contributes useful selection or invocation information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with one optional parameter, full parameter schema, rich annotations, and an output schema available, the description covers what the tool returns, how output format is controlled, how it fits in a workflow, and how it differs from siblings. No meaningful gap remains for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the only parameter, response_format, has an enum, a default, and a descriptive explanation in the schema. The description's INPUT CONTRACT section largely restates this information and adds no new parameter 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.
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: 'Returns all 22 Major Arcana cards (The Fool through The World) as a structured array.' It precisely defines scope and distinguishes itself from related tarot tools in the 'DO NOT CONFUSE WITH' section, naming asterwise_get_tarot_cards and asterwise_get_tarot_suit with their differing scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section states that the tool is standalone ('BEFORE: None') and suggests a downstream use via asterwise_draw_tarot_cards. The DO NOT CONFUSE section identifies alternatives and their scopes, but it does not state an explicit conditional such as 'Use this when you need all Major Arcana cards and nothing else.' Context is clear, but the decision rule is not fully spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_tarot_suitTarot SuitARead-onlyIdempotentInspect
Returns all 14 cards in a given Minor Arcana suit as a structured array.
WORKFLOW: BEFORE: None — standalone. AFTER: None.
INPUT CONTRACT: suit — One of exactly: 'wands', 'cups', 'swords', 'pentacles'. Case-insensitive. Any other value is rejected locally with MCP INVALID_PARAMS.
DO NOT CONFUSE WITH: asterwise_get_tarot_major_arcana — 22 Major Arcana, not suit-based. asterwise_get_tarot_cards — full 78-card catalogue.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-suit/
| Name | Required | Description | Default |
|---|---|---|---|
| suit | Yes | Minor arcana suit: wands, cups, swords or pentacles. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral detail beyond those: case-insensitive suit matching, local rejection of invalid values with MCP INVALID_PARAMS, and the structured array return shape. It does not mention auth or rate limits, but the existing annotations lower the burden and the description provides valuable validation context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with front-loaded purpose, followed by workflow, input contract, sibling disambiguation, and documentation link. Every section earns its place and there is no filler or tautological repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with an output schema, full schema coverage, and thorough annotations, the description is complete. It covers validation behavior, output shape, sibling differentiation, and points to a full docs URL for output and error contracts, leaving no critical gap for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value for the suit parameter by enumerating the exact allowed values ('wands', 'cups', 'swords', 'pentacles'), specifying case-insensitivity, and clarifying the local rejection behavior — all beyond what the schema field description provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: 'Returns all 14 cards in a given Minor Arcana suit as a structured array.' It clearly scopes the tool to Minor Arcana suits and disambiguates it from the Major Arcana and full-catalogue siblings, so an agent can identify the tool's purpose precisely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'DO NOT CONFUSE WITH' section explicitly names asterwise_get_tarot_major_arcana and asterwise_get_tarot_cards and gives the distinguishing criteria (22 Major Arcana vs suit-based; 78-card catalogue). The WORKFLOW section states the tool is standalone, leaving no ambiguity about prerequisites or follow-up calls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_tarot_three_card_spreadTarot Three Card SpreadARead-onlyInspect
Past / Present / Future spread. Draws 3 unique cards using cryptographic randomness and assigns each to a named positional slot with an interpretive context.
WORKFLOW: BEFORE: None — standalone reading. AFTER: asterwise_get_tarot_celtic_cross — for deeper 10-position analysis of same question.
INPUT CONTRACT: allow_reversed (bool, default false) — Each card independently has 50% reversal chance. question (optional string, max 500 chars) — The question being asked. Setting a question is strongly recommended for coherent readings. Example: 'What should I focus on in my career this month?' The question is echoed in the response but does not affect card selection.
DO NOT CONFUSE WITH: asterwise_draw_tarot_cards — free draw with no positional meaning. asterwise_get_tarot_celtic_cross — 10-card spread with comprehensive positional coverage. asterwise_get_tarot_yes_no — single-card binary answer, no positional structure.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-three-card-spread/
| Name | Required | Description | Default |
|---|---|---|---|
| question | No | The question being asked; it shapes the reading's interpretation. | |
| allow_reversed | No | Whether cards may be drawn reversed (upside down). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes that cards are drawn with cryptographic randomness and that the question does not affect card selection, adding transparency beyond the readOnlyHint annotation. It doesn't mention any potential side effects, but the annotations already cover safety, and the extra details are valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with separate sections for workflow, input, and disambiguation. While slightly verbose due to repeating disambiguation details, the information is organized and easy to scan, with no unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all necessary aspects for a user to call the tool correctly: what it does, how to use it, and output options. Since an output schema exists, the lack of return-value details is acceptable. The mention of response_format and the question's non-influence on selection round out the context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description elaborates on each parameter's meaning (question shapes interpretation, allow_reversed controls reversed cards, response_format controls output type) and even provides an example and a note about the question being echoed. This goes beyond the schema's basic definitions, enhancing understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool draws 3 unique cards for a Past/Present/Future spread, assigning each to a named positional slot. It explicitly distinguishes from sibling tools like draw_tarot_cards (free draw) and celtic_cross (deeper analysis), making its specific purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a 'DO NOT CONFUSE WITH' section that contrasts this tool with two directly related siblings, and the 'AFTER' note suggests using the celtic cross for deeper analysis of the same question. This gives clear guidance on when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_tarot_yes_noTarot Yes NoARead-onlyInspect
Draws one card and returns a yes, no, or maybe answer with confidence level. The answer is derived from the card's built-in yes_no polarity and its orientation.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_tarot_three_card_spread — for more context when the yes/no answer is 'maybe' or the situation needs elaboration.
INPUT CONTRACT: allow_reversed (bool, default true) — Recommended to keep true for nuanced answers. Set false only if you want strictly yes/no with no maybe results from reversal. question (optional string, max 500 chars) — The yes/no question being asked. Example: 'Should I accept this job offer?' Example: 'Will the project launch on time?'
DO NOT CONFUSE WITH: asterwise_get_tarot_three_card_spread — positional reading, not binary answer. asterwise_draw_tarot_cards — free draw without answer logic.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-tarot-yes-no/
| Name | Required | Description | Default |
|---|---|---|---|
| question | No | The yes/no question being asked. | |
| allow_reversed | No | Whether cards may be drawn reversed (upside down). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations provide readOnlyHint=true, idempotentHint=false, and destructiveHint=false, and the description does not contradict these or claim any side effects. The description does not add extra context about safety, auth, or rate limits, but given the annotations already cover the core behavioral aspects, the description is sufficient and transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) but contains some redundancy, as the INPUT CONTRACT repeats parameter details already present in the schema. However, it remains concise overall and does not include extraneous information, making it easy for an agent to parse the essential guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully covers the tool's purpose, usage, and distinctiveness from siblings, and the schema provides parameter details and output format options. Although the description does not specify the exact structure of the 'markdown' vs 'json' response, the schema's response_format enum and the mention of 'confidence level' give sufficient context for an agent to understand the expected output. Overall, the tool is well-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description elaborates on both key parameters: allow_reversed is explained in the INPUT CONTRACT with the note that setting it to false ensures strictly yes/no answers without 'maybe' from reversal, and question includes an example ('Should I accept this job offer?'). Combined with 100% schema coverage for all three parameters (including response_format), the semantic meaning of each parameter is fully conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Draws one card and returns a yes, no, or maybe answer with confidence level' and explicitly distinguishes it from siblings in the 'DO NOT CONFUSE WITH' section, noting that the three-card spread is a positional reading (not binary) and draw_tarot_cards is a free draw without answer logic. This fully clarifies the tool's purpose and its unique role among the listed tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section clearly indicates this tool is standalone ('BEFORE: None') and recommends following up with asterwise_get_tarot_three_card_spread when the answer is 'maybe' or more context is needed. The 'DO NOT CONFUSE WITH' section additionally tells the agent when not to use this tool, providing clear usage guidance relative to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_thirumana_poruthamThirumana PoruthamARead-onlyIdempotentInspect
Evaluates twelve Tamil Thirumana poruthams for two charts, tracks veto severity for Rajju, and returns an expanded breakdown map with tradition metadata.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_porutham — quick ten-koota pass before twelve-koota depth. AFTER: None.
INPUT CONTRACT: Two BirthData objects per global contract.
DO NOT CONFUSE WITH: asterwise_get_porutham — ten poruthams only, no Nadi/Varna keys. asterwise_get_compatibility — North Indian 36-point schema, not Tamil porutham map.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-thirumana-porutham/
| Name | Required | Description | Default |
|---|---|---|---|
| person1 | Yes | Birth data for a single person. | |
| person2 | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral detail by mentioning Rajju veto severity tracking and the expanded breakdown map with tradition metadata, though exact result keys and error cases are only pointed to via the contract URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well organized with WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and contract sections. It is slightly verbose and repeats some schema content, but every section serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and the annotations cover safety, the description is complete: it provides workflow, disambiguation from relevant siblings, input requirements, output format, and a link to the full error contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all parameters with descriptions, so the baseline is 3. The description only restates the input contract and does not add significant meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Evaluates'), names the exact resource (twelve Tamil Thirumana poruthams for two charts), and immediately distinguishes it from the ten-porutham and North Indian compatibility tools in the DO NOT CONFUSE section.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit workflow guidance (run asterwise_get_porutham first as a quick pass), states the input contract (two BirthData objects), and names the alternatives to avoid. It also indicates output format and points to the full output/error contract.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_transitsTransitsARead-onlyIdempotentInspect
Lists sign ingresses and retrograde/direct stations for all planets between two dates against the natal context and returns chronological astronomical events.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — clarifies the natal reference for the same birth data. AFTER: asterwise_get_gochar — optional current snapshot after scanning the range.
INPUT CONTRACT: from_date and to_date are strings in the format expected by the upstream API (typically YYYY-MM-DD). Range cap (24 months), date order, and validity are enforced upstream, not locally.
DO NOT CONFUSE WITH: asterwise_get_gochar — single-day transit snapshot with houses from Moon/Lagna, not ingress/station lists. asterwise_get_dasha_transits — dasha lord vs transit scoring for today only.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-transits/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| to_date | Yes | End of the window to list ingress and station events, YYYY-MM-DD. | |
| from_date | Yes | Start of the window to list ingress and station events, YYYY-MM-DD. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that range cap, date order, and validity are enforced upstream, and clarifies it returns a chronological list without side effects. This supplements the annotation with operational constraints, though it does not fully describe error handling or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured into clear sections (description, workflow, input contract, do not confuse) and is appropriately detailed given the large sibling list. It avoids fluff, though the DO NOT CONFUSE section is somewhat repetitive with the WORKFLOW. Overall, every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema is available (as indicated by context) and the description explains the returned data as chronological astronomical events, the description is complete. It also explains the input window and birth context. Minor gap: it does not explicitly mention the output format options (markdown/json), though those are in the schema parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with detailed descriptions, including nested birth fields, enums for ayanamsa and response_format, and defaults. The description adds the input contract (YYYY-MM-DD and 24-month cap) that is not fully explicit in the schema for from_date/to_date, enhancing understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists sign ingresses and retrograde/direct stations for all planets between two dates, with an explicit 'against the natal context' qualifier. This distinguishes it from generic transit tools and names the specific astronomical events returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a WORKFLOW section explicitly recommending the before-tool (asterwise_get_natal_chart) and after-tool (asterwise_get_gochar). It also provides a DO NOT CONFUSE WITH section that contrasts with two sibling tools (gochar and dasha_transits), giving concrete selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_varshaphalVarshaphalARead-onlyIdempotentInspect
Computes the annual Tajika-style solar return for a four-digit civil year and returns Muntha, Pancha Adhikari metrics, Tajika aspects, and varshaphal positions.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — baseline radix before annual overlay. AFTER: None.
INPUT CONTRACT: year is a plain int sent as target_year upstream; callers must supply the true Gregorian return year, not age.
DO NOT CONFUSE WITH: asterwise_get_dasha — multi-decade Vimshottari, not one solar return. asterwise_get_transits — ingress/station timeline, not annual Tajika chart.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-varshaphal/
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year of the solar return to compute, four digits, e.g. 2026. | |
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the description doesn't need to repeat them. It adds a reference to the full output and error contract, which gives users a path to understand error behavior. No contradiction exists between description and annotations, but it doesn't go much beyond the annotations for behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections like WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH. It is informative without being verbose, and the link to the full contract avoids embedding unnecessary details. The formatting enhances readability and scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (nested birth object, multiple output fields), the description covers the essential context: what it computes, recommended prerequisites, key output concepts, and a link to the full contract. The presence of an output schema means return values are handled separately, and the description sufficiently bridges the tool's purpose and usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with detailed descriptions for all parameters, so the baseline is 3. The description adds extra clarity by emphasizing that 'year' is the true Gregorian return year and not an age, and it provides workflow context. This modest additional guidance raises the score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool computes the annual Tajika-style solar return and lists the specific outputs (Muntha, Pancha Adhikari, Tajika aspects, varshaphal positions). It also distinguishes itself from sibling tools like dasha and transits in the 'DO NOT CONFUSE WITH' section, making its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly specifies when to use this tool by recommending a prerequisite (asterwise_get_natal_chart), and clarifies the input contract (supply the true Gregorian return year, not age). It also explicitly warns against confusion with dasha and transit tools, providing clear alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_varshaphal_harsha_balaVarshaphal Harsha BalaARead-onlyIdempotentInspect
Computes Harsha Bala (positional happiness score) for all 7 classical planets in a Varshaphal solar return chart. Maximum 20 per planet (4 components × 5 points each).
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_varshaphal — identify the Year Lord (Varsha Pati) before interpreting Harsha Bala. The Year Lord's Harsha Bala is the most actionable number in this response. AFTER: asterwise_get_varshaphal_saham — use Harsha Bala to assess whether each Saham lord can deliver its theme with ease or difficulty.
INPUT CONTRACT: Same as asterwise_get_varshaphal — BirthData plus target_year. target_year (required int): The Gregorian civil year of the solar return. Not age. time (required): Solar return ascendant and house positions are time-sensitive.
DO NOT CONFUSE WITH: asterwise_get_varshaphal — returns Pancha Vargeeya Bala (mathematical strength out of 80) for the Pancha Adhikaris; Harsha Bala (positional happiness out of 20) is a completely different measurement returned by this tool. asterwise_get_varshaphal_saham — derives sensitive zodiac points; this tool scores planet positional comfort. asterwise_get_chart_strength — Shadbala for the natal chart, not Tajika Harsha Bala for the solar return.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-varshaphal-harsha-bala/
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Four-digit calendar year, e.g. 2026. | |
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive behavior, and the description adds useful domain behavior: the 20-point scoring structure, time-sensitivity of ascendant and house positions, and which output value is most actionable. The misleading 'time (required)' statement keeps this from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-organized with clear labels (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE) and a front-loaded core definition. It is long, but for a tool with this many siblings, the differentiation content earns its place. Minor repetition of the Harsha Bala scoring detail could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers workflow, sibling exclusions, parameter context, and links to a full output/error contract, while the output schema and annotations already handle return values and safety. The target_year and time-required mismatches with the actual schema are the only notable completeness gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 introduces confusion: it calls the parameter 'target_year' while the schema defines it as 'year', and it states 'time (required)' even though birth.time is optional/nullable in the schema. The 'not age' and time-sensitivity notes add some value, but the naming and requiredness mismatches can mislead an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb ('Computes'), a specific resource ('Harsha Bala for all 7 classical planets'), and a clear scope ('Varshaphal solar return chart'). The DO NOT CONFUSE section explicitly differentiates it from sibling tools, so an agent can reliably identify what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit workflow: run asterwise_get_varshaphal first to identify the Year Lord, then use this tool, and optionally follow with asterwise_get_varshaphal_saham. It also names alternatives and explains why they are not this tool, making selection unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_varshaphal_sahamVarshaphal SahamARead-onlyIdempotentInspect
Computes all 10 Tajika Saham (sensitive points) for a Varshaphal solar return chart. Sahams are the Tajika equivalent of Arabic Parts — mathematically derived zodiac points that focus the annual horoscope on specific life themes.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_varshaphal — understand the base solar return chart (year lord, Muntha, Varsha Ascendant) before interpreting Saham lords. The Saham is meaningless without knowing which house it occupies from the Varsha Ascendant. AFTER: asterwise_get_varshaphal_harsha_bala — assess the Saham lord's positional happiness score to determine ease or difficulty of manifestation.
INPUT CONTRACT: Same as asterwise_get_varshaphal — BirthData plus target_year. target_year (required int): The Gregorian calendar year of the solar return. Not age — the civil year (e.g. 2026). Feeding age instead of year silently produces the wrong return. time (required): Solar return Ascendant is time-sensitive. Accurate birth time is required for reliable Saham interpretation.
DO NOT CONFUSE WITH: asterwise_get_varshaphal — returns the full base solar return chart including Muntha, year lord, and planet positions; Saham points are not included there. asterwise_get_varshaphal_harsha_bala — scores planet positional happiness; this tool computes zodiac points, not planet positions. asterwise_get_gemstone_recommendations — birthchart gemstone recommendations, unrelated to Tajika Saham.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-varshaphal-saham/
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Four-digit calendar year, e.g. 2026. | |
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, and the description adds operationally relevant caveats like time-sensitivity and the silent-wrong-year risk. It could mention the output/error contract in more detail, but the provided link and warning cover the key behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but structured with helpful sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and every sentence adds functional guidance. Slight verbosity is justified by the complexity of the astrological tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a thorough workflow and links to the full output/error contract, but the provided tool definition lacks an explicit output schema. Given the nested input and response_format options, a concrete output example or schema would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all parameters, including nested fields. The description reinforces semantics by clarifying that target_year is the civil year, not age, and that accurate birth time is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it computes all 10 Tajika Saham for a Varshaphal solar return chart, which is a specific resource and action. It also names three sibling tools to avoid confusion, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear before/after workflow, an input contract, and a 'DO NOT CONFUSE WITH' section that explicitly distinguishes this tool from related ones. It specifies when to use it versus alternatives such as asterwise_get_varshaphal and asterwise_get_varshaphal_harsha_bala.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_aspectsWestern AspectsARead-onlyIdempotentInspect
Calculates all active aspects between a supplied set of planetary longitudes. Accepts a dictionary of body name to tropical ecliptic longitude and returns every aspect within standard natal orbs.
WORKFLOW: BEFORE: None — standalone; or use asterwise_get_western_natal to get positions first. AFTER: None.
INPUT CONTRACT: positions — dict mapping planet/body name (string) to tropical longitude (float 0–360). Must contain at least 2 entries. Example: {'Sun': 229.6, 'Moon': 221.8, 'Mars': 189.6, 'Jupiter': 309.6} Names can be any string — the tool does not enforce planet names.
DO NOT CONFUSE WITH: asterwise_get_western_natal — computes both positions and aspects from birth data. asterwise_get_western_synastry — inter-chart aspects between two people.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-aspects/
| Name | Required | Description | Default |
|---|---|---|---|
| positions | Yes | Planet positions to compare: a mapping of planet name to ecliptic longitude in degrees (0-360). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond the annotations by specifying 'standard natal orbs' and the input format (tropical longitude). Since annotations already indicate read-only, idempotent, and non-destructive behavior, the description does not contradict them and provides a useful default behavior detail, though it could mention potential orb variations or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and front-loads the core purpose in the first sentence. While it is slightly verbose due to the embedded workflow and contract text, the structure makes it easy to navigate and not overly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description includes workflow context, input contract details, links to full documentation, and differentiates from sibling tools. It does not provide an explicit output schema, but the response_format parameter and phrase 'returns every aspect' give sufficient indication of the result. The link to docs fills any remaining gaps, making it complete for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters with descriptions, but the description text adds meaningful constraints not present in the schema: positions must contain at least 2 entries, gives an explicit example, and clarifies the coordinate type (tropical longitude). This goes beyond the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates all active aspects from supplied planetary longitudes, with explicit input and output. It also explicitly distinguishes itself from similar tools (asterwise_get_western_natal and asterwise_get_western_synastry) in the 'DO NOT CONFUSE WITH' section, making its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance via the WORKFLOW section, stating it can be used standalone or after obtaining positions from asterwise_get_western_natal. It also directly names the alternatives to avoid confusion, giving clear when-to-use and when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_compatibilityWestern CompatibilityARead-onlyIdempotentInspect
Overall compatibility score (0–100) between two natal charts. Scores element affinity, synastry aspects between personal planets (Sun, Moon, Venus, Mars), and Sun/Moon/rising sign comparisons.
WORKFLOW: BEFORE: asterwise_get_western_natal per person optional. AFTER: asterwise_get_western_synastry — drill into raw aspects if score needs detail.
INPUT CONTRACT: person1, person2 — WesternBirthData each.
DO NOT CONFUSE WITH: asterwise_get_western_synastry — raw aspects, no score. asterwise_get_western_zodiac_compatibility — sign-only, no birth data.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-compatibility/
| Name | Required | Description | Default |
|---|---|---|---|
| person1 | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| person2 | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/destructive hints, so the bar is lower. The description adds useful context by mentioning the output score range, the workflow, and a link to the full output/error contract, which goes beyond the bare annotations 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and each sentence serves a purpose. It is a bit verbose with all-caps labels but remains well-structured and easy to scan. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (nested objects, two persons, many sibling tools), the description provides enough context to select and invoke the tool correctly. It includes a link to the full output/error contract, clarifying what to expect, and it differentiates from the most similar alternatives. A full inline output schema would make it perfect, but the URL suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for every parameter, including nested objects, enums, and defaults. The description itself adds no extra semantic information about parameters; it merely repeats 'person1, person2 — WesternBirthData' which is already in the schema. Hence baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States clearly that it computes a compatibility score (0–100) between two natal charts, and lists the specific components (element affinity, synastry aspects, sign comparisons). It explicitly distinguishes itself from two sibling tools (synastry and zodiac compatibility) which is crucial for disambiguation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit workflow guidance: optional prior call to western_natal, and a follow-up call to western_synastry when more raw aspect detail is needed. Also explicitly states when NOT to use this tool (for raw aspects or sign-only compatibility) by naming alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_compositeWestern CompositeARead-onlyIdempotentInspect
Midpoint composite chart for two people. Each composite planet is the midpoint of the two natal positions. Returns composite planets with dignities and internal aspects.
WORKFLOW: BEFORE: asterwise_get_western_synastry — examine inter-chart aspects before composite. AFTER: None.
INPUT CONTRACT: person1, person2 — WesternBirthData each. house_system ignored.
DO NOT CONFUSE WITH: asterwise_get_western_synastry — two charts, inter-chart aspects vs composite (one midpoint chart). asterwise_get_western_compatibility — numeric score vs structural composite chart.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-composite/
| Name | Required | Description | Default |
|---|---|---|---|
| person1 | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| person2 | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds that house_system is ignored and that the response contains composite planets with dignities and aspects, going beyond the annotations. However, it does not detail error behavior, though it links to a full output and error contract.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, and contract link sections. Every sentence provides useful information without redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the nested parameter objects and output schema, the description is complete enough for an agent to invoke the tool correctly. It specifies prerequisites, differentiates from closely related tools, notes ignored parameters, and points to the full output and error contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage with detailed descriptions for person1, person2, and response_format. The description adds valuable caveats such as 'house_system ignored' and clarifies that each person uses WesternBirthData, supplementing the schema meaningfully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning a midpoint composite chart for two people, with composite planets, dignities, and aspects. It explicitly differentiates this from synastry and numeric compatibility tools in the DO NOT CONFUSE section, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section gives explicit guidance to examine inter-chart aspects via asterwise_get_western_synastry before the composite. The INPUT CONTRACT and DO NOT CONFUSE sections clarify when this tool is appropriate versus synastry or compatibility tools, providing strong usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_horoscopeWestern HoroscopeARead-onlyIdempotentInspect
Fetches an AI-synthesised Western sun-sign horoscope for a chosen horizon and returns structured guidance fields plus metadata about the model and period.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_western_natal — if the user needs a personalised tropical chart beyond sign-general copy.
INPUT CONTRACT: period is constrained to the tool schema enum (daily, weekly, monthly, yearly). sun_sign accepts English zodiac names only (Aries, Taurus, Gemini, Cancer, Leo, Virgo, Libra, Scorpio, Sagittarius, Capricorn, Aquarius, Pisces). No Sanskrit aliases — this is Western astrology. response_format selects JSON vs markdown rendering only.
DO NOT CONFUSE WITH: asterwise_get_horoscope — Vedic Moon-sign horoscope using sidereal zodiac, not Western tropical sun-sign. asterwise_get_western_natal — full personalised tropical chart from birth data, not sign-general editorial copy.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-horoscope/
| Name | Required | Description | Default |
|---|---|---|---|
| period | Yes | Horoscope period: daily, weekly, monthly or yearly. | |
| sun_sign | Yes | Western sun sign, e.g. 'Aries'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, the description reveals that content is AI-synthesised, that response_format only changes rendering, and that results include model/period metadata. It also points to a full output and error contract URL, so the tool's behavioral and error profile is well disclosed with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than minimal but earns its length: core function is front-loaded and the WORKFLOW/INPUT CONTRACT/DO NOT CONFUSE sections are scannable. Some redundancy exists ('chosen horizon' vs. the period parameter), but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter, well-annotated tool with an output schema, the description covers workflow, input constraints, output highlights, sibling confusion, and directs to a full error/output contract. An agent has everything needed to decide and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is a 3. The description adds useful constraints beyond the schema: sun_sign must be English zodiac names only, no Sanskrit aliases, and response_format affects rendering only. This clarifies ambiguity without compensating for missing schema docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names the exact resource ('Western sun-sign horoscope'), the action ('Fetches'), and the output shape (structured guidance fields plus metadata). It also calls out the Western/tropical distinction, so it is clearly separable from the many sibling astrology tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section states the tool is standalone and names asterwise_get_western_natal as the AFTER option when a personalised chart is needed. DO NOT CONFUSE WITH explicitly contrasts asterwise_get_horoscope (Vedic Moon-sign) and asterwise_get_western_natal, giving an agent clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_lunar_returnWestern Lunar ReturnARead-onlyIdempotentInspect
Next lunar return chart after a given date. Finds the next moment the Moon returns to its natal tropical longitude (approximately every 27.3 days) and builds a complete Western natal chart for that moment at the birth location.
WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: None.
INPUT CONTRACT: birth — WesternBirthData. after_date (optional YYYY-MM-DD) — find next return after this date. Defaults to today.
DO NOT CONFUSE WITH: asterwise_get_western_solar_return — annual Sun return vs lunar_return (monthly Moon return).
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-lunar-return/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| after_date | No | Find the first occurrence after this date, YYYY-MM-DD. Defaults to today when omitted. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: the return occurs approximately every 27.3 days, the chart is built 'for that moment at the birth location', and a 'complete Western natal chart' is produced. It does not describe error behavior or edge cases, but the external docs link mitigates that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then organized into compact labeled sections: WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and docs link. Every section serves a distinct purpose, and there is no filler or repetition that weakens the agent's ability to parse it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, idempotent computation tool with a rich input schema and an output schema present, the description covers the essential context: what it computes, the input contract, the workflow prerequisite, the closest alternative, and a full documentation link. Nothing critical is missing for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 the birth object, after_date, and response_format. The description's INPUT CONTRACT mostly restates what the schema already says (after_date defaults to today, birth is WesternBirthData), adding no meaningful parameter semantics beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('finds') and resource ('the next lunar return chart after a given date'), then explains the underlying mechanism: the next moment the Moon returns to its natal tropical longitude. It also explicitly disambiguates from asterwise_get_western_solar_return, so an agent can distinguish it from the closest sibling 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear when-to-use context ('next return after this date'), a workflow dependency ('BEFORE: asterwise_get_western_natal'), and an explicit exclusion with the alternative tool ('DO NOT CONFUSE WITH: asterwise_get_western_solar_return'). This gives an agent concrete routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_moon_calendarWestern Moon CalendarARead-onlyIdempotentInspect
Returns lunar phase data for every day in a calendar month as a structured array. Each element is a complete daily phase object identical to asterwise_get_western_moon_phase.
WORKFLOW: BEFORE: None — standalone. AFTER: None.
INPUT CONTRACT: year (optional int) — Target year. Defaults to current year. Example: 2026 month (optional int 1–12) — Target month. Defaults to current month. Example: 5 (May) Values outside 1–12 are rejected locally with MCP INVALID_PARAMS.
DO NOT CONFUSE WITH: asterwise_get_western_moon_phase — single-day phase only.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-moon-calendar/
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted. | |
| month | No | Month number 1-12. Defaults to the current month when omitted. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnly, openWorld, idempotent, and destructive hints, so the description's omission of these details is acceptable. The description mentions defaulting behavior and validation of month range, which adds transparency. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with clear INPUT CONTRACT and WORKFLOW sections, is not overly verbose, and fronts the purpose. The repetition of 'Defaults' and 'DO NOT CONFUSE WITH' mirrors the schema descriptions but is acceptable. Slightly redundant with the schema but not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a full output schema and sibling context is provided, the description is complete enough. It clearly distinguishes from the single-day sibling and covers validation. The mention of the full output contract link adds completeness, though no detailed output fields are described in the description itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters with clear defaults and examples. The description itself does not add extra meaning beyond the schema, but the schema is already comprehensive. The response_format parameter is well described with enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns lunar phase data for every day in a month as a structured array, distinguishing it from the single-day sibling. The verb 'Returns' is specific, but it does not explicitly mention the output format for the array (e.g., JSON structure) beyond referencing the single-day object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a WORKFLOW section stating standalone and no after steps, and a DO NOT CONFUSE WITH section naming the alternative single-day tool. However, it does not explicitly say when to prefer this over the sibling or mention any prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_moon_phaseWestern Moon PhaseARead-onlyIdempotentInspect
Calculates the tropical lunar phase for any date using Swiss Ephemeris. Returns the phase name, phase angle, illumination percentage, Moon age in days, and the next major phase transition.
WORKFLOW: BEFORE: None — standalone. AFTER: asterwise_get_western_moon_calendar — get the full month's phase data.
INPUT CONTRACT: date (optional string YYYY-MM-DD) — Date to compute phase for. Defaults to today. Example: '2026-05-01'
DO NOT CONFUSE WITH: asterwise_get_western_moon_calendar — full monthly day-by-day phase table. asterwise_get_panchanga — Vedic tithi system (lunar day based on 12° arc increments).
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-moon-phase/
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date for the moon phase, YYYY-MM-DD. Defaults to today. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive hints, and the description adds behavioral context beyond those: it specifies the computation engine, clarifies that this is the tropical system rather than Vedic, and enumerates the exact returned values. The docs link additionally references the output and error contract, although the description itself could have said a little more about error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a concise summary, then organized into labeled sections for workflow, input contract, sibling differentiation, and full documentation. Every section serves a distinct purpose with no filler or redundant restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the annotations, output schema, input schema, and sibling list, the description is complete: it covers what the tool returns, how to call it, what to call instead, what to call next, and where to find the full contract. Nothing an agent needs to invoke this safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, and the description adds a concrete example value ('2026-05-01') and reinforces that the date is optional and defaults to today. The response_format parameter is not echoed in the prose, but the schema describes it fully with an enum and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Calculates'), a clear resource ('tropical lunar phase'), a date scope ('for any date'), and the return fields. It also explicitly distinguishes itself from its closest siblings in the 'DO NOT CONFUSE WITH' section, so an agent can identify this tool without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states standalone usage ('BEFORE: None — standalone'), suggests the natural next step for full-month data, and explicitly warns against confusing this tool with the calendar and Vedic panchanga tools. This gives clear when-to-use and 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.
asterwise_get_western_natalWestern Natal ChartARead-onlyIdempotentInspect
Calculate a complete Western natal chart using the tropical zodiac and Swiss Ephemeris. Returns 10 planet positions with Placidus (or chosen) house placements, essential dignities, all active aspects, and element/modality/hemisphere balance statistics.
WORKFLOW: BEFORE: None — this tool is standalone. AFTER: asterwise_get_western_transits_daily — layer current transits over this natal chart. AFTER: asterwise_get_western_synastry — compare this chart against a partner's chart. AFTER: asterwise_get_western_solar_return — annual return chart for the current year.
INPUT CONTRACT: birth.date — YYYY-MM-DD. Example: '1985-11-12' birth.time — HH:MM (24-hour local time). Example: '06:45' birth.lat — Decimal degrees, north positive. Example: 19.076 (Mumbai) birth.lon — Decimal degrees, east positive. Example: 72.8777 (Mumbai) birth.timezone — IANA timezone string. Example: 'Asia/Kolkata', 'America/New_York', 'Europe/Rome', 'UTC'. Default: UTC. IMPORTANT: Timezone defaults to UTC — always supply the correct local timezone for accurate house cusps. An incorrect timezone shifts the Ascendant. birth.house_system — 'placidus' (default, most common), 'koch', 'equal', 'whole_sign'. Placidus is standard for most Western traditions. Whole sign is traditional/Hellenistic. NOTE: house_system is accepted here but silently ignored by transit, return, synastry, composite, and progression endpoints — those always use the birth location coordinates without house-system selection. ayanamsa — always tropical regardless of any value supplied; field is not present.
DO NOT CONFUSE WITH: asterwise_get_natal_chart — Vedic sidereal chart using Lahiri ayanamsa; different zodiac, different house system, different planet set (9 grahas vs 10 tropical planets). asterwise_get_western_aspects — takes raw longitudes as input; use when you already have positions and don't need full chart computation.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-natal/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the bar is lower; the description still adds substantial behavioral context by warning that an incorrect timezone shifts the Ascendant, noting that house_system is accepted here but silently ignored by other endpoints, and clarifying that ayanamsa is always tropical even if a value is supplied. This goes well beyond the structured annotations and helps an agent anticipate surprising behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with clear sections (WORKFLOW, INPUT CONTRACT, IMPORTANT, NOTE, DO NOT CONFUSE WITH) and front-loads the core purpose in the first sentence. Every section earns its place given the nested parameter object, timezone pitfall, and confusing sibling landscape; a few typographical artifacts and duplicated schema examples keep it from a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with nested inputs, multiple house systems, timezone sensitivity, and over 100 sibling tools, the description covers the full workflow, input contract with examples, failure-relevant pitfalls, and disambiguation. Since an output schema exists, the description need not enumerate return fields, and the docs link covers the full output/error contract. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description adds meaning beyond the schema by explaining why timezone matters (house cusps/Ascendant), by noting the house_system quirk across sibling endpoints, and by explicitly documenting the absent ayanamsa field. Some content repeats schema examples, but the additional contextual guidance pushes it above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-qualifier pair — 'Calculate a complete Western natal chart using the tropical zodiac and Swiss Ephemeris' — and lists concrete outputs (10 planets, house placements, dignities, aspects, balance statistics). It explicitly disambiguates from asterwise_get_natal_chart (Vedic/sidereal) and asterwise_get_western_aspects (raw longitudes), so an agent can distinguish this tool from close 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance with a 'DO NOT CONFUSE WITH' section naming two alternatives and the exact conditions that select them (Vedic vs tropical; full chart vs already-known positions). It also includes a WORKFLOW section saying this tool is standalone and lists downstream AFTER tools (transits, synastry, solar return), giving sequencing context that is rare and valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_planetary_returnWestern Planetary ReturnARead-onlyIdempotentInspect
Next return chart for any planet after a given date. Finds the exact moment the specified planet returns to its natal tropical longitude and builds a complete Western natal chart for that moment at the birth location.
WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: None.
INPUT CONTRACT: birth — WesternBirthData. planet — one of Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto. after_date (optional YYYY-MM-DD) — defaults to today.
DO NOT CONFUSE WITH: asterwise_get_western_solar_return — Sun-only shortcut. asterwise_get_western_lunar_return — Moon-only shortcut.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-planetary-return/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| planet | Yes | Planet whose return to compute, e.g. 'Jupiter' or 'Saturn'. | |
| after_date | No | Find the first occurrence after this date, YYYY-MM-DD. Defaults to today when omitted. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the operation as read-only, idempotent, and non-destructive. The description adds meaningful behavioral context: the calculation uses natal tropical longitude, occurs at the birth location, and the after_date parameter defaults to today, which goes beyond what the annotations alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded: a clear one-sentence summary is followed by labeled WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections. Every section serves a purpose, and the external docs link covers deeper contracts without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a complex tool: it specifies prerequisites, follow-up, parameter expectations, sibling disambiguation, and points to the full output/error contract. Since an output schema is present, not detailing return values in the description is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by enumerating all valid planet values (Sun through Pluto), listing the required birth input contract, and clarifying that after_date defaults to today—details that reinforce and extend the schema without being redundant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's precise function: finding the next exact moment a specified planet returns to its natal tropical longitude and building a complete Western natal chart for that moment. It also names the two closest sibling tools and explicitly states what this tool is not, making differentiation easy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit workflow instructions: BEFORE this tool use asterwise_get_western_natal, AFTER None. It also explicitly warns not to confuse this tool with the Sun-only and Moon-only return shortcuts, giving an agent clear routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_secondary_progressionsWestern Secondary ProgressionsARead-onlyIdempotentInspect
Secondary progressed chart using the day-for-a-year method. Each day after birth symbolises one year of life (1 ephemeris day = 1 tropical year = 365.2421904 days). Returns all 10 progressed planet positions, progressed Ascendant and MC, and the solar arc.
WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: asterwise_get_western_solar_arc — compare uniform arc vs individual motion.
INPUT CONTRACT: birth — WesternBirthData. target_date (optional YYYY-MM-DD) — the date to progress to. Defaults to today.
DO NOT CONFUSE WITH: asterwise_get_western_solar_arc — all planets move by one uniform arc. asterwise_get_western_transits_daily — real-time sky, not symbolic progression.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-secondary-progressions/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| target_date | No | Date in YYYY-MM-DD format. Defaults to today when omitted. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not add behavioral traits beyond the annotations. The annotations already declare readOnlyHint: true, idempotentHint: true, and destructiveHint: false, and the description is consistent with these. It explains the computational method but that is functional, not behavioral (e.g., side effects, rate limits). Since the annotations already cover safety aspects, the description adds no extra behavioral context, hence a neutral score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and contains useful disambiguation. However, some redundancy exists: the 'DO NOT CONFUSE WITH' section repeats the same contrast twice (e.g., 'uniform arc vs individual motion' and 'real-time sky, not symbolic progression'). Overall it is concise and informative, but slightly repetitive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides rich context: the exact formula (1 ephemeris day = 1 tropical year = 365.2421904 days), the workflow sequence, and clear differentiation from related tools. It also mentions the output content (progressed planets, Ascendant, MC, solar arc). This gives the agent a complete understanding of the tool's purpose and relationship to siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage of parameters with detailed descriptions (e.g., birth object fields, target_date, response_format). The description text repeats the same information (e.g., 'target_date (optional YYYY-MM-DD) — the date to progress to. Defaults to today.') without adding new semantic detail. Thus it meets the baseline for complete schema coverage but adds no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'Secondary progressed chart using the day-for-a-year method' and explicitly lists what it returns: '10 progressed planet positions, progressed Ascendant and MC, and the solar arc.' This leaves no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool via the 'WORKFLOW' section (BEFORE: asterwise_get_western_natal, AFTER: asterwise_get_western_solar_arc) and the 'DO NOT CONFUSE WITH' section, which distinguishes it from solar arc (uniform motion) and transits (real-time sky). This is excellent usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_solar_arcWestern Solar ArcARead-onlyIdempotentInspect
Solar Arc Directions for a target date. The solar arc (progressed Sun minus natal Sun) is applied uniformly to every natal planet and angle — approximately 1° per year. Unlike secondary progressions, all planets advance at the same rate.
WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: None.
INPUT CONTRACT: birth — WesternBirthData. target_date (optional YYYY-MM-DD) — defaults to today.
DO NOT CONFUSE WITH: asterwise_get_western_secondary_progressions — each planet moves at its own rate. asterwise_get_western_transits_daily — real-time transits, not arc directions.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-solar-arc/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| target_date | No | Date in YYYY-MM-DD format. Defaults to today when omitted. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint, so the safety profile is fully covered. The description adds meaningful behavioral context by explaining the calculation rule and the uniform rate of progression, which helps callers understand what the tool does without needing to infer it from the name alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) with no redundant or filler language. Every sentence contributes either the calculation method, the prerequisite, the input default, or a disambiguation from sibling tools.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for the tool's complexity: it states the prerequisite chart, the optional target date, the disambiguation from similar tools, and points to a full output/error contract URL. Since an output schema is present, describing return values inline is not necessary, and the provided link covers any additional output details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameters with detailed descriptions, including nested birth fields, enums, defaults, and formats, so the baseline is met. The description's INPUT CONTRACT adds little beyond restating target_date's default and naming 'WesternBirthData', which does not materially enhance the schema's already thorough semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as computing Solar Arc Directions for a target date and explains the method (progressed Sun minus natal Sun, uniformly applied). It explicitly distinguishes itself from secondary progressions and daily transits among sibling tools, leaving no ambiguity about its unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a concrete workflow prerequisite by stating BEFORE: asterwise_get_western_natal and notes AFTER: None. It also gives explicit when-not-to-use guidance by contrasting with secondary progressions and daily transits, and documents the target_date default so callers know when it can be omitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_solar_returnWestern Solar ReturnARead-onlyIdempotentInspect
Solar return chart for a given year. Finds the exact moment the Sun returns to its natal tropical longitude and builds a complete Western natal chart for that moment at the birth location. Provide the year as an integer (e.g. 2026).
WORKFLOW: BEFORE: asterwise_get_western_natal — understand natal chart before reading return. AFTER: None.
INPUT CONTRACT: birth — WesternBirthData. house_system ignored (chart uses return computation defaults). year (int) — calendar year of the return (e.g. 2026), not age.
DO NOT CONFUSE WITH: asterwise_get_western_lunar_return — Moon return, ~monthly. asterwise_get_varshaphal — Vedic Tajika solar return — different system.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-solar-return/
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Four-digit calendar year, e.g. 2026. | |
| birth | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds meaningful behavioral detail beyond the schema, especially that house_system is ignored and the chart uses return computation defaults. It also points to a full output and error contract, which strengthens transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections for workflow, input contract, and confusable tools. It is slightly redundant with the schema, particularly around the year example, but the extra context is meaningful. Every section earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides the necessary workflow context, input contract, alternative routing, and a documentation link for output and errors. Since an output schema exists and the docs URL covers the response contract, nothing critical is missing for an agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds extra semantic guidance: year must be a calendar year rather than an age, and house_system is ignored despite being present in the birth object. This helps avoid a likely misuse of the nested birth parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: computes the solar return chart for a given year. It explains the exact astronomical event (Sun returning to natal tropical longitude) and the resulting output ('complete Western natal chart'). The 'DO NOT CONFUSE WITH' section explicitly distinguishes it from lunar return and Vedic varshaphal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit workflow guidance: understand the natal chart before reading the return, and states AFTER: None. It also directly names alternatives and their distinguishing features, such as asterwise_get_western_lunar_return being monthly and asterwise_get_varshaphal being a Vedic system. The note that year is the calendar year, not age, removes a common usage error.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_synastryWestern SynastryARead-onlyIdempotentInspect
Aspect grid between two natal charts using the tropical zodiac. Returns all inter-chart aspects using standard inter-chart orbs. Useful for relationship compatibility analysis.
WORKFLOW: BEFORE: asterwise_get_western_natal per person — understand charts individually first. AFTER: asterwise_get_western_composite — midpoint chart for the relationship itself.
INPUT CONTRACT: person1, person2 — each WesternBirthData (date, time, lat, lon, timezone). house_system ignored for synastry payload.
DO NOT CONFUSE WITH: asterwise_get_western_composite — one merged midpoint chart vs synastry (two charts overlaid). asterwise_get_western_compatibility — numeric 0–100 score vs raw aspects.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-synastry/
| Name | Required | Description | Default |
|---|---|---|---|
| person1 | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| person2 | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations cover read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral details beyond annotations, including that standard inter-chart orbs are used, house_system is ignored for synastry, and response_format controls output. It does not mention rate limits or error cases, but those are not required 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, using short labeled sections for workflow, input contract, and disambiguation. The DO NOT CONFUSE section is especially efficient at preventing misuse. The full output contract link is a reasonable addition rather than unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides sufficient context for agent selection and invocation, including output format, ignored parameters, and relationship to sibling tools. Since the context indicates an output schema exists and a full output/error contract link is provided, the description does not need to enumerate all return fields or error codes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for all parameters. The description adds important semantic details such as 'house_system ignored for synastry payload' and explains that person1 and person2 are WesternBirthData objects, which helps agents understand which nested fields are relevant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it computes an aspect grid between two natal charts using the tropical zodiac and returns inter-chart aspects. The 'DO NOT CONFUSE WITH' section explicitly distinguishes it from composite charts and numeric compatibility scores, so an agent can select the correct tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context for when to use the tool, such as 'Useful for relationship compatibility analysis', and provides a WORKFLOW section telling agents to fetch individual natal charts first and use composite charts afterward. It also clarifies that it returns raw aspects unlike the numeric compatibility tool, though it does not explicitly state 'use this instead of X when Y'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_transits_dailyWestern Daily TransitsARead-onlyIdempotentInspect
Current sky positions vs natal chart for a single day. Returns all 10 planets with tropical longitudes and active aspects to natal positions using transit orbs: major 3°, sextile 2°, minor 1°. Provide start_date for a specific day; defaults to today.
WORKFLOW: BEFORE: asterwise_get_western_natal — establish natal chart first. AFTER: asterwise_get_western_transits_weekly — for week view.
INPUT CONTRACT: birth — WesternBirthData (date, time, lat, lon, timezone). house_system ignored for this endpoint. start_date (optional YYYY-MM-DD) — defaults to today.
DO NOT CONFUSE WITH: asterwise_get_western_transits_weekly — 7 days vs 1 day. asterwise_get_western_transits_monthly — 30-day window vs single day.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-transits-daily/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| start_date | No | Start of the window, YYYY-MM-DD. Defaults to today when omitted. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds that house_system is ignored for this endpoint, that start_date defaults to today, and defines the transit orbs used (major 3°, sextile 2°, minor 1°). This adds behavioral context beyond the annotations 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly structured with short sentences, explicit sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH), and zero fluff. Every sentence earns its place: it defines the output, states the orbs, gives defaults, sequences dependencies, and links the full contract.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an output schema, nested objects, and full schema coverage, the description covers the essential operational context: prerequisites (natal chart first), input contract, defaults, exclusion of house_system, and links to full docs. Nothing an agent needs to correctly select and invoke the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds meaning by explaining the birth object is WesternBirthData, noting which nested field is ignored for this endpoint (house_system), and clarifying start_date optionality and default behavior. It doesn't restate every schema field but adds workflow-relevant semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Current sky positions vs natal chart for a single day'), names the exact output (all 10 planets with tropical longitudes and active aspects), and differentiates itself from two siblings by day count. An agent can tell it apart from weekly/monthly variants 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The WORKFLOW section explicitly says BEFORE calling get_western_natal to establish the natal chart first and AFTER calling weekly for a week view. The 'DO NOT CONFUSE WITH' section lists the two sibling tools and the distinguishing duration (7 days vs 1 day, 30-day window vs single day). This is explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_transits_monthlyWestern Monthly TransitsARead-onlyIdempotentInspect
30-day transit window vs natal chart. Returns day-by-day transit snapshots plus peak aspects (active 10+ days in the window). Use start_date to set the month start; defaults to today.
WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: None.
INPUT CONTRACT: birth — WesternBirthData. house_system ignored. start_date (optional YYYY-MM-DD) — month start; defaults to today.
DO NOT CONFUSE WITH: asterwise_get_western_transits_daily — 1 day. asterwise_get_western_transits_weekly — 7 days.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-transits-monthly/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| start_date | No | Start of the window, YYYY-MM-DD. Defaults to today when omitted. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint, and the description does not contradict them. While the description adds context about response formats (markdown vs json) and defaults, it does not elaborate on side effects or system impact beyond what annotations imply. Given the annotation coverage, the description is consistent and adequate, though not overly detailed on behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with clear sections (DESCRIPTION, WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and avoids redundant prose. However, it repeats some default information that already appears in the schema (e.g., start_date defaults to today), making it slightly verbose. Overall, it remains compact and scannable for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all necessary context: what the tool computes, default behavior, workflow prerequisites, related tools to avoid confusion, and a link to full documentation. Since the tool has an output schema (as indicated by 'Has output schema: true'), the description does not need to explain return values, and it provides enough information for an agent to decide when and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with every parameter (including nested birth fields) having descriptive text. The description adds extra semantic value by explaining the purpose of start_date (setting month start) and noting that house_system is ignored, which is not immediately obvious from the schema alone. This enriches parameter understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: '30-day transit window vs natal chart' and returns 'day-by-day transit snapshots plus peak aspects.' It also specifies the default behavior ('defaults to today') and differentiates from daily and weekly variants via the 'DO NOT CONFUSE WITH' section, making its scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage instructions, including how to set the month start via 'Use start_date to set the month start; defaults to today.' It also lists the correct workflow prerequisite ('BEFORE: asterwise_get_western_natal') and explicitly warns against confusion with the daily and weekly counterparts, giving clear guidance on when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_transits_weeklyWestern Weekly TransitsARead-onlyIdempotentInspect
7-day transit window vs natal chart. Returns day-by-day transit snapshots plus peak aspects (active 4+ days in the window). Use start_date to set the week start; defaults to today.
WORKFLOW: BEFORE: asterwise_get_western_natal. AFTER: asterwise_get_western_transits_monthly — for full month.
INPUT CONTRACT: birth — WesternBirthData. house_system ignored. start_date (optional YYYY-MM-DD) — week start; defaults to today.
DO NOT CONFUSE WITH: asterwise_get_western_transits_daily — single day. asterwise_get_western_transits_monthly — 30 days vs 7.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-transits-weekly/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for Western astrology tools (tropical zodiac). | |
| start_date | No | Start of the window, YYYY-MM-DD. Defaults to today when omitted. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate the tool is read-only, idempotent, and non-destructive. The description adds transparency by noting that the house_system parameter is ignored for this tool, and that start_date defaults to today when omitted, giving users realistic expectations about parameter handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into concise sections (purpose, workflow, input contract, warnings, external reference), making it easy to scan. It avoids unnecessary verbosity while covering all essential aspects in a compact form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides the tool's purpose, workflow integration, parameter clarifications, and a link to the full output/error contract. This is sufficient for an agent to correctly invoke the tool without needing additional context, especially given the high schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides thorough descriptions for all parameters (birth, start_date, response_format), achieving 100% coverage. The description adds one extra semantic note: house_system is ignored, which clarifies a potential confusion given the schema includes it. This slight addition warrants a score above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes a 7-day transit window against a natal chart, returning daily snapshots and peak aspects. It also distinguishes it from daily and monthly transit tools, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells users to use this tool for a week-long transit view, and directs them to daily or monthly variants for other time spans. It also lists the recommended preceding call (natal chart) and following call (monthly transits), providing clear guidance on when to use this tool in a workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_western_zodiac_compatibilityWestern Zodiac CompatibilityARead-onlyIdempotentInspect
Sign-to-sign compatibility without birth data. Based on element and modality affinity. Fast — no ephemeris calculation required.
WORKFLOW: BEFORE: None — no birth data needed. AFTER: asterwise_get_western_compatibility — when full charts are available.
INPUT CONTRACT: sign1, sign2 — English zodiac names (Aries … Pisces).
DO NOT CONFUSE WITH: asterwise_get_western_compatibility — requires full birth data, more accurate. asterwise_get_western_synastry — aspect geometry between two full charts.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-western-zodiac-compatibility/
| Name | Required | Description | Default |
|---|---|---|---|
| sign1 | Yes | First zodiac sign, e.g. 'Aries'. | |
| sign2 | Yes | Second zodiac sign, e.g. 'Libra'. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior. The description adds useful context beyond that: no ephemeris calculation, fast execution, basis in element/modality affinity, and a link to the full output/error contract. It would only reach 5 by describing error cases inline rather than referencing a docs URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and uses clear labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that make scanning easy. Every section earns its place; no filler or tautology.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety/idempotency, the description supplies the missing behavioral and routing context: prerequisites, alternatives, underlying logic, and a pointer to the full contract. Nothing an agent needs to select and call this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the schema already documents sign1, sign2, and response_format with examples and defaults. The description's INPUT CONTRACT mostly restates parameter names without adding semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear resource ('sign-to-sign compatibility') and methodology ('element and modality affinity'), and immediately distinguishes it from similar-sounding siblings. It names exactly what this tool is not: asterwise_get_western_compatibility and asterwise_get_western_synastry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit WORKFLOW and DO NOT CONFUSE sections tell the agent when to use this tool vs alternatives: no birth data needed, use asterwise_get_western_compatibility when full charts are available, and use synastry for aspect geometry. This is textbook-level routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_yogasYogasARead-onlyIdempotentInspect
Evaluates the natal chart for named classical yogas and returns category, formation text, the classical texts each yoga is drawn from (classical_sources), a modern summary, and keywords per hit.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — same birth tuple should be understood before interpreting yoga names. AFTER: asterwise_get_doshas — complementary affliction scan on the same chart.
INPUT CONTRACT: BirthData follows the global contract. time='00:00' is accepted without flag; yoga house logic may be wrong if true birth time is unknown.
DO NOT CONFUSE WITH: asterwise_get_natal_chart — supplies graha_drishti and base chart rows, not the yoga catalogue. asterwise_get_panchanga — Panchanga yoga (Sun+Moon sum) is unrelated to these natal yogas.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-yogas/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context: it warns that time='00:00' is accepted without flag and that yoga house logic may be wrong if true birth time is unknown. It also discloses the output contract via a documentation link. This goes beyond the annotations 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and a documentation link. Every sentence earns its place: the first sentence states the core function, the workflow sections give sequencing, the input contract warns about a critical edge case, and the confusion section disambiguates siblings. It is appropriately sized for a tool with this complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for an agent to call this tool correctly: it states what the tool returns, when to call it relative to siblings, what the input contract requires, a critical edge-case warning about time='00:00', and where to find the full output/error contract. The output schema exists, so return values need not be spelled out. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters (birth and response_format) thoroughly, including nested fields, defaults, enums, and patterns. The description adds the important caveat about time='00:00' being accepted without flag, which is a semantic warning beyond the schema. However, it doesn't elaborate on response_format values beyond what the schema already says. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Evaluates'), a specific resource ('the natal chart for named classical yogas'), and enumerates the output fields (category, formation text, classical_sources, modern summary, keywords). It also explicitly distinguishes itself from asterwise_get_panchanga, whose 'yoga' is a different concept. This is a clear, specific purpose statement that an agent can act on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit WORKFLOW section: it recommends calling asterwise_get_natal_chart BEFORE this tool, and asterwise_get_doshas AFTER, with the rationale that the natal chart should be understood before interpreting yoga names. It also has a DO NOT CONFUSE WITH section naming two siblings and explaining why they are different. This is exemplary usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asterwise_get_yogini_dashaYogini DashaARead-onlyIdempotentInspect
Computes the eight-Yogini, 36-year Yogini Dasha cycle with two-level period trees and DD/MM/YYYY boundaries from birth data.
WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_natal_chart — establishes birth context for interpreting Yogini lords. AFTER: asterwise_get_dasha — optional Vimshottari comparison for the same native.
INPUT CONTRACT: Tree lives at data.periods.root[] — agents must not expect a top-level data.periods array. Calendar strings in periods use DD/MM/YYYY. BirthData follows the global contract.
DO NOT CONFUSE WITH: asterwise_get_dasha — Vimshottari planet periods with data.periods[] and optional levels 1–5, not Yogini names. asterwise_get_ashtottari_dasha — 108-year system with data.periods.root[] but planet-based rows, not Yoginis.
Full output and error contract: https://docs.asterwise.com/mcp/tools/get-yogini-dasha/
| Name | Required | Description | Default |
|---|---|---|---|
| birth | Yes | Birth data for a single person. | |
| response_format | No | Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload. | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the call read-only, idempotent, and non-destructive, so the description only needs to clarify what the computation returns. It does so by noting the period-tree location (data.periods.root[]), output date format, and a link to the full output/error contract, with no contradicting side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into focused sections (main computation, workflow, input contract, and do-not-confuse) and all sentences carry useful information. It is slightly longer than necessary but remains scannable and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers the key output shape (two-level tree, data.periods.root[], DD/MM/YYYY strings) and provides a link to the full contract, which is sufficient when combined with the detailed input schema and presence of an output schema. It does not need to enumerate every return field because the full contract is referenced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema itself provides complete descriptions for the birth object, coordinates, date/time, ayanamsa, timezone, and response_format, so the description adds little parameter-level guidance. The 'BirthData follows the global contract' note is generic but not misleading; output-related notes do not improve parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence clearly states that this tool computes the eight-Yogini, 36-year Yogini Dasha cycle and describes the two-level period-tree output and DD/MM/YYYY boundary format. It also explicitly distinguishes itself from the Vimshottari and Ashtottari dasha siblings, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete workflow guidance ('BEFORE: recommended asterwise_get_natal_chart', 'AFTER: optional asterwise_get_dasha') and explicitly warns against confusing this tool with asterwise_get_dasha (Vimshottari) and asterwise_get_ashtottari_dasha (108-year system). This tells an agent when to use this tool and which sibling to choose otherwise.
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.
18 tool updates
- Changed
asterwise_check_mobile_number1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_check_vehicle_number1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_get_angel_number_personal1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_get_business_name_analysis1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_get_chaldean_numerology1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_get_crystal1 field changed- changed
Input schema / properties / name / descriptionPrevious value: -"Person's full name as commonly written; letters are converted to numerology values."New value: +"Crystal slug or display name, e.g. 'amethyst', 'blue-sapphire', 'Cat's Eye Chrysoberyl'."
- Changed
asterwise_get_dream_symbol1 field changed- changed
Input schema / properties / name / descriptionPrevious value: -"Person's full name as commonly written; letters are converted to numerology values."New value: +"Dream symbol slug or display name, e.g. 'snake', 'eagle', 'childhood-home', 'lotus'."
- Changed
asterwise_get_festival_calendar1 field changed- changed
Input schema / properties / year / descriptionPrevious value: -"Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."New value: +"Four-digit calendar year, e.g. 2026."
- Changed
asterwise_get_lo_shu_grid1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_get_lucky_numbers1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_get_maturity_number1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_get_name_correction1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_get_numerology_profile1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_get_personal_cycles1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_get_personal_year1 field changed- changed
Input schema / properties / date / descriptionPrevious value: -"Date in YYYY-MM-DD format. Defaults to today when omitted."New value: +"Date in YYYY-MM-DD format."
- Changed
asterwise_get_varshaphal_harsha_bala1 field changed- changed
Input schema / properties / year / descriptionPrevious value: -"Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."New value: +"Four-digit calendar year, e.g. 2026."
- Changed
asterwise_get_varshaphal_saham1 field changed- changed
Input schema / properties / year / descriptionPrevious value: -"Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."New value: +"Four-digit calendar year, e.g. 2026."
- Changed
asterwise_get_western_solar_return1 field changed- changed
Input schema / properties / year / descriptionPrevious value: -"Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."New value: +"Four-digit calendar year, e.g. 2026."
5 tool updates
- Changed
asterwise_get_choghadiya1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone."New value: +"For tools that need location but not birth time."
- Changed
asterwise_get_hora1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone."New value: +"For tools that need location but not birth time."
- Changed
asterwise_get_muhurta1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone."New value: +"For tools that need location but not birth time."
- Changed
asterwise_get_panchanga1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone."New value: +"For tools that need location but not birth time."
- Changed
asterwise_get_rahu_kaal1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone."New value: +"For tools that need location but not birth time."
101 tool updates
- Changed
asterwise_check_mobile_number4 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / mobile_number / descriptionAdded value: +"Mobile number to analyse; digits only, country code optional." - added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_check_sade_sati1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_check_vehicle_number4 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / vehicle_number / descriptionAdded value: +"Vehicle registration number, e.g. 'DL01AB1234'."
- Changed
asterwise_draw_tarot_cards3 fields changed- added
Input schema / properties / allow_reversed / descriptionAdded value: +"Whether cards may be drawn reversed (upside down)." - added
Input schema / properties / count / descriptionAdded value: +"Number of cards to draw." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_angel_number2 fields changed- added
Input schema / properties / number / descriptionAdded value: +"Angel number sequence as seen, e.g. '111' or '1234'." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_angel_number_personal3 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / name / descriptionAdded value: +"Person's name, used to personalise the angel number reading." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_angel_number_today1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_ashtakavarga1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_ashtottari_dasha2 fields changed- added
Input schema / properties / levels / descriptionAdded value: +"Depth of the dasha tree: 1 returns major periods only, each extra level adds the next sub-period layer." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_ayanamsha2 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date to compute the ayanamsha for, YYYY-MM-DD. Defaults to today." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_balance_number2 fields changed- added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_biorhythm4 fields changed- added
Input schema / properties / birth_date / descriptionAdded value: +"Date of birth, YYYY-MM-DD." - added
Input schema / properties / days / descriptionAdded value: +"Number of consecutive days to include, starting from the target date." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / target_date / descriptionAdded value: +"Date to chart the cycles for, YYYY-MM-DD. Defaults to today."
- Changed
asterwise_get_business_name_analysis3 fields changed- added
Input schema / properties / business_name / descriptionAdded value: +"Business or brand name to analyse." - added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_chaldean_numerology3 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_char_dasha1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_chart_strength1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_choghadiya1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"For tools that need location but not birth time."New value: +"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone."
- Changed
asterwise_get_compatibility1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_crystal2 fields changed- added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_crystal_by_planet2 fields changed- added
Input schema / properties / planet / descriptionAdded value: +"Planet to find crystals for, e.g. 'Venus' or 'Saturn'." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_crystal_recommendations5 fields changed- added
Input schema / properties / chakra / descriptionAdded value: +"Chakra to focus on, e.g. 'heart' or 'third eye'." - added
Input schema / properties / intention / descriptionAdded value: +"Purpose for the recommendation, e.g. 'protection', 'focus', 'love'." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum number of results to return." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / zodiac_sign / descriptionAdded value: +"Zodiac sign, e.g. 'Leo'."
- Changed
asterwise_get_crystal_recommendations_natal1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_crystals1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_dasha2 fields changed- added
Input schema / properties / levels / descriptionAdded value: +"Depth of the Vimshottari tree, 1-5: 1 = Mahadasha only, 2 adds Antardasha (default), 3 Pratyantar, 4 Sookshma, 5 Prana (much larger payload)." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_dasha_transits1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_dashakoot1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_divisional_chart2 fields changed- added
Input schema / properties / chart_type / descriptionAdded value: +"Divisional chart to return, D1 to D60. Omit to return all 16 charts." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_doshas1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_dream_symbol2 fields changed- added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_dream_symbols2 fields changed- added
Input schema / properties / category / descriptionAdded value: +"Symbol category to filter by, e.g. 'animals' or 'water'. Omit for all." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_expression_number2 fields changed- added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_festival_calendar6 fields changed- added
Input schema / properties / latitude / descriptionAdded value: +"Latitude in decimal degrees, north positive (e.g. 13.08)." - added
Input schema / properties / location / descriptionAdded value: +"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone." - added
Input schema / properties / longitude / descriptionAdded value: +"Longitude in decimal degrees, east positive (e.g. 80.27)." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / timezone / descriptionAdded value: +"IANA time zone name, e.g. 'Asia/Kolkata'." - added
Input schema / properties / year / descriptionAdded value: +"Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."
- Changed
asterwise_get_gemstone_recommendations1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_ghat_chakra1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_gochar2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / target_date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted."
- Changed
asterwise_get_hora1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"For tools that need location but not birth time."New value: +"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone."
- Changed
asterwise_get_horoscope3 fields changed- added
Input schema / properties / moon_sign / descriptionAdded value: +"Vedic moon sign (rashi), e.g. 'Vrishabha' or 'Taurus'." - added
Input schema / properties / period / descriptionAdded value: +"Horoscope period: daily, weekly, monthly or yearly." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_karmic_lessons2 fields changed- added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_kp_chart1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_kp_ruling_planets3 fields changed- added
Input schema / properties / lat / descriptionAdded value: +"Latitude in decimal degrees, north positive (e.g. 13.08)." - added
Input schema / properties / lon / descriptionAdded value: +"Longitude in decimal degrees, east positive (e.g. 80.27)." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_kp_significators2 fields changed- added
Input schema / properties / house_number / descriptionAdded value: +"House number 1-12. Omit to cover all twelve houses." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_lal_kitab_chart1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_lal_kitab_remedies1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_lo_shu_grid2 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_lucky_numbers3 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_maturity_number3 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_muhurta4 fields changed- added
Input schema / properties / activity / descriptionAdded value: +"Activity to find an auspicious time for, e.g. 'marriage', 'travel', 'business opening'." - added
Input schema / properties / from_date / descriptionAdded value: +"Start of the search window for auspicious times, YYYY-MM-DD." - changed
Input schema / properties / location / descriptionPrevious value: -"For tools that need location but not birth time."New value: +"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone." - added
Input schema / properties / to_date / descriptionAdded value: +"End of the search window for auspicious times, YYYY-MM-DD."
- Changed
asterwise_get_nakshatra_details2 fields changed- added
Input schema / properties / nakshatra_name / descriptionAdded value: +"Nakshatra name, e.g. 'Rohini' or 'Uttara Phalguni'." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_nakshatra_prediction2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / target_date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted."
- Changed
asterwise_get_name_correction3 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_natal_chart2 fields changed- added
Input schema / properties / include_interpretation / descriptionAdded value: +"Include a written interpretation alongside the chart data." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_number_meaning2 fields changed- added
Input schema / properties / number / descriptionAdded value: +"Number to interpret: 1-9, or a master number 11, 22 or 33." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_numerology_compatibility5 fields changed- added
Input schema / properties / person1_date / descriptionAdded value: +"First person's date of birth, YYYY-MM-DD." - added
Input schema / properties / person1_name / descriptionAdded value: +"First person's full name." - added
Input schema / properties / person2_date / descriptionAdded value: +"Second person's date of birth, YYYY-MM-DD." - added
Input schema / properties / person2_name / descriptionAdded value: +"Second person's full name." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_numerology_profile3 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_panchanga1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"For tools that need location but not birth time."New value: +"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone."
- Changed
asterwise_get_papasamyam1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_personal_cycles5 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / day / descriptionAdded value: +"Day of the month 1-31. Defaults to today when omitted." - added
Input schema / properties / month / descriptionAdded value: +"Month number 1-12. Defaults to the current month when omitted." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / year / descriptionAdded value: +"Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."
- Changed
asterwise_get_personal_year3 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_personality_number2 fields changed- added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_pitra_dosha1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_planet_nature2 fields changed- added
Input schema / properties / planet / descriptionAdded value: +"Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_porutham1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_puja_suggestions2 fields changed- added
Input schema / properties / planet / descriptionAdded value: +"Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_rahu_kaal1 field changed- changed
Input schema / properties / location / descriptionPrevious value: -"For tools that need location but not birth time."New value: +"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone."
- Changed
asterwise_get_remedies1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_rudraksha2 fields changed- added
Input schema / properties / planet / descriptionAdded value: +"Planet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_soul_urge_number2 fields changed- added
Input schema / properties / name / descriptionAdded value: +"Person's full name as commonly written; letters are converted to numerology values." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_special_ascendants1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_tamil_panchanga6 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date for the Tamil panchanga, YYYY-MM-DD." - added
Input schema / properties / latitude / descriptionAdded value: +"Latitude in decimal degrees, north positive (e.g. 13.08)." - added
Input schema / properties / location / descriptionAdded value: +"Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone." - added
Input schema / properties / longitude / descriptionAdded value: +"Longitude in decimal degrees, east positive (e.g. 80.27)." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / timezone / descriptionAdded value: +"IANA time zone name, e.g. 'Asia/Kolkata'."
- Changed
asterwise_get_tarot_card2 fields changed- added
Input schema / properties / card_id / descriptionAdded value: +"Tarot card identifier in kebab-case, e.g. 'the-fool' or 'ace-of-wands'." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_tarot_card_of_the_day3 fields changed- added
Input schema / properties / allow_reversed / descriptionAdded value: +"Whether cards may be drawn reversed (upside down)." - added
Input schema / properties / date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_tarot_cards1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_tarot_celtic_cross3 fields changed- added
Input schema / properties / allow_reversed / descriptionAdded value: +"Whether cards may be drawn reversed (upside down)." - added
Input schema / properties / question / descriptionAdded value: +"The question being asked; it shapes the reading's interpretation." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_tarot_major_arcana1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_tarot_suit2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / suit / descriptionAdded value: +"Minor arcana suit: wands, cups, swords or pentacles."
- Changed
asterwise_get_tarot_three_card_spread3 fields changed- added
Input schema / properties / allow_reversed / descriptionAdded value: +"Whether cards may be drawn reversed (upside down)." - added
Input schema / properties / question / descriptionAdded value: +"The question being asked; it shapes the reading's interpretation." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_tarot_yes_no3 fields changed- added
Input schema / properties / allow_reversed / descriptionAdded value: +"Whether cards may be drawn reversed (upside down)." - added
Input schema / properties / question / descriptionAdded value: +"The yes/no question being asked." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_thirumana_porutham1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_transits3 fields changed- added
Input schema / properties / from_date / descriptionAdded value: +"Start of the window to list ingress and station events, YYYY-MM-DD." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / to_date / descriptionAdded value: +"End of the window to list ingress and station events, YYYY-MM-DD."
- Changed
asterwise_get_varshaphal2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / year / descriptionAdded value: +"Year of the solar return to compute, four digits, e.g. 2026."
- Changed
asterwise_get_varshaphal_harsha_bala2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / year / descriptionAdded value: +"Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."
- Changed
asterwise_get_varshaphal_saham2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / year / descriptionAdded value: +"Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."
- Changed
asterwise_get_western_aspects2 fields changed- added
Input schema / properties / positions / descriptionAdded value: +"Planet positions to compare: a mapping of planet name to ecliptic longitude in degrees (0-360)." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_western_compatibility1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_western_composite1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_western_horoscope3 fields changed- added
Input schema / properties / period / descriptionAdded value: +"Horoscope period: daily, weekly, monthly or yearly." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / sun_sign / descriptionAdded value: +"Western sun sign, e.g. 'Aries'."
- Changed
asterwise_get_western_lunar_return2 fields changed- added
Input schema / properties / after_date / descriptionAdded value: +"Find the first occurrence after this date, YYYY-MM-DD. Defaults to today when omitted." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_western_moon_calendar3 fields changed- added
Input schema / properties / month / descriptionAdded value: +"Month number 1-12. Defaults to the current month when omitted." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / year / descriptionAdded value: +"Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."
- Changed
asterwise_get_western_moon_phase2 fields changed- added
Input schema / properties / date / descriptionAdded value: +"Date for the moon phase, YYYY-MM-DD. Defaults to today." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_western_natal1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_western_planetary_return3 fields changed- added
Input schema / properties / after_date / descriptionAdded value: +"Find the first occurrence after this date, YYYY-MM-DD. Defaults to today when omitted." - added
Input schema / properties / planet / descriptionAdded value: +"Planet whose return to compute, e.g. 'Jupiter' or 'Saturn'." - added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_western_secondary_progressions2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / target_date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted."
- Changed
asterwise_get_western_solar_arc2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / target_date / descriptionAdded value: +"Date in YYYY-MM-DD format. Defaults to today when omitted."
- Changed
asterwise_get_western_solar_return2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / year / descriptionAdded value: +"Four-digit calendar year, e.g. 2026. Defaults to the current year when omitted."
- Changed
asterwise_get_western_synastry1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_western_transits_daily2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / start_date / descriptionAdded value: +"Start of the window, YYYY-MM-DD. Defaults to today when omitted."
- Changed
asterwise_get_western_transits_monthly2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / start_date / descriptionAdded value: +"Start of the window, YYYY-MM-DD. Defaults to today when omitted."
- Changed
asterwise_get_western_transits_weekly2 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / start_date / descriptionAdded value: +"Start of the window, YYYY-MM-DD. Defaults to today when omitted."
- Changed
asterwise_get_western_zodiac_compatibility3 fields changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload." - added
Input schema / properties / sign1 / descriptionAdded value: +"First zodiac sign, e.g. 'Aries'." - added
Input schema / properties / sign2 / descriptionAdded value: +"Second zodiac sign, e.g. 'Libra'."
- Changed
asterwise_get_yogas1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
- Changed
asterwise_get_yogini_dasha1 field changed- added
Input schema / properties / response_format / descriptionAdded value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
96 tool updates
- Changed
asterwise_check_mobile_number2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "mobile_number", - "name", - "date", - "response_format" -]New value: +[ + "mobile_number", + "name", + "date" +]
- Changed
asterwise_check_sade_sati8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_check_vehicle_number2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "vehicle_number", - "name", - "date", - "response_format" -]New value: +[ + "vehicle_number", + "name", + "date" +]
- Changed
asterwise_draw_tarot_cards2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_angel_number2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "number", - "response_format" -]New value: +[ + "number" +]
- Changed
asterwise_get_angel_number_personal2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "date", - "response_format" -]New value: +[ + "date" +]
- Changed
asterwise_get_angel_number_today2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_ashtakavarga8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_ashtottari_dasha8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_ayanamsha2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_balance_number2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "response_format" -]New value: +[ + "name" +]
- Changed
asterwise_get_biorhythm2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth_date", - "response_format" -]New value: +[ + "birth_date" +]
- Changed
asterwise_get_business_name_analysis2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "business_name", - "date", - "response_format" -]New value: +[ + "business_name", + "date" +]
- Changed
asterwise_get_chaldean_numerology2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "response_format" -]New value: +[ + "name", + "date" +]
- Changed
asterwise_get_char_dasha8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_chart_strength8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_compatibility14 fields changed- changed
Input schema / properties / person1 / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / person1 / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / person1 / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / person1 / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / person1 / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / person1 / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - changed
Input schema / properties / person2 / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / person2 / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / person2 / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / person2 / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / person2 / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / person2 / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "person1", - "person2", - "response_format" -]New value: +[ + "person1", + "person2" +]
- Changed
asterwise_get_crystal2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "response_format" -]New value: +[ + "name" +]
- Changed
asterwise_get_crystal_by_planet2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "planet", - "response_format" -]New value: +[ + "planet" +]
- Changed
asterwise_get_crystal_recommendations2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_crystal_recommendations_natal8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_crystals2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_dasha9 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - changed
Input schema / properties / levels / defaultPrevious value: -3New value: +2 - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_dasha_transits8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_dashakoot14 fields changed- changed
Input schema / properties / person1 / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / person1 / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / person1 / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / person1 / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / person1 / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / person1 / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - changed
Input schema / properties / person2 / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / person2 / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / person2 / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / person2 / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / person2 / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / person2 / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "person1", - "person2", - "response_format" -]New value: +[ + "person1", + "person2" +]
- Changed
asterwise_get_divisional_chart8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_doshas8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_dream_symbol2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "response_format" -]New value: +[ + "name" +]
- Changed
asterwise_get_dream_symbols2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_expression_number2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "response_format" -]New value: +[ + "name" +]
- Changed
asterwise_get_festival_calendar2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "year", - "response_format" -]New value: +[ + "year" +]
- Changed
asterwise_get_gemstone_recommendations8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_ghat_chakra8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_gochar8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_horoscope2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "moon_sign", - "period", - "response_format" -]New value: +[ + "moon_sign", + "period" +]
- Changed
asterwise_get_karmic_lessons2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "response_format" -]New value: +[ + "name" +]
- Changed
asterwise_get_kp_chart8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_kp_ruling_planets2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "lat", - "lon", - "response_format" -]New value: +[ + "lat", + "lon" +]
- Changed
asterwise_get_kp_significators8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_lal_kitab_chart8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_lal_kitab_remedies8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_lo_shu_grid2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "date", - "response_format" -]New value: +[ + "date" +]
- Changed
asterwise_get_lucky_numbers2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "response_format" -]New value: +[ + "name", + "date" +]
- Changed
asterwise_get_maturity_number2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "response_format" -]New value: +[ + "name", + "date" +]
- Changed
asterwise_get_nakshatra_details2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "nakshatra_name", - "response_format" -]New value: +[ + "nakshatra_name" +]
- Changed
asterwise_get_nakshatra_prediction8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_name_correction2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "response_format" -]New value: +[ + "name", + "date" +]
- Changed
asterwise_get_natal_chart8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_number_meaning2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "number", - "response_format" -]New value: +[ + "number" +]
- Changed
asterwise_get_numerology_compatibility2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "person1_name", - "person1_date", - "person2_name", - "person2_date", - "response_format" -]New value: +[ + "person1_name", + "person1_date", + "person2_name", + "person2_date" +]
- Changed
asterwise_get_numerology_profile2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "response_format" -]New value: +[ + "name", + "date" +]
- Changed
asterwise_get_papasamyam14 fields changed- changed
Input schema / properties / person1 / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / person1 / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / person1 / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / person1 / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / person1 / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / person1 / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - changed
Input schema / properties / person2 / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / person2 / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / person2 / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / person2 / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / person2 / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / person2 / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "person1", - "person2", - "response_format" -]New value: +[ + "person1", + "person2" +]
- Changed
asterwise_get_personal_cycles2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "date", - "response_format" -]New value: +[ + "date" +]
- Changed
asterwise_get_personal_year2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "date", - "response_format" -]New value: +[ + "name", + "date" +]
- Changed
asterwise_get_personality_number2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "response_format" -]New value: +[ + "name" +]
- Changed
asterwise_get_pitra_dosha8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_planet_nature2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_porutham14 fields changed- changed
Input schema / properties / person1 / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / person1 / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / person1 / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / person1 / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / person1 / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / person1 / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - changed
Input schema / properties / person2 / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / person2 / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / person2 / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / person2 / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / person2 / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / person2 / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "person1", - "person2", - "response_format" -]New value: +[ + "person1", + "person2" +]
- Changed
asterwise_get_puja_suggestions2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_remedies8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_rudraksha2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_soul_urge_number2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "name", - "response_format" -]New value: +[ + "name" +]
- Changed
asterwise_get_special_ascendants8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_tamil_panchanga2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "date", - "response_format" -]New value: +[ + "date" +]
- Changed
asterwise_get_tarot_card2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "card_id", - "response_format" -]New value: +[ + "card_id" +]
- Changed
asterwise_get_tarot_card_of_the_day2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_tarot_cards2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_tarot_celtic_cross2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_tarot_major_arcana2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_tarot_suit2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "suit", - "response_format" -]New value: +[ + "suit" +]
- Changed
asterwise_get_tarot_three_card_spread2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_tarot_yes_no2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_thirumana_porutham14 fields changed- changed
Input schema / properties / person1 / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / person1 / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / person1 / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / person1 / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / person1 / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / person1 / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - changed
Input schema / properties / person2 / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / person2 / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / person2 / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / person2 / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / person2 / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / person2 / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "person1", - "person2", - "response_format" -]New value: +[ + "person1", + "person2" +]
- Changed
asterwise_get_transits8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "from_date", - "to_date", - "response_format" -]New value: +[ + "birth", + "from_date", + "to_date" +]
- Changed
asterwise_get_varshaphal8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "year", - "response_format" -]New value: +[ + "birth", + "year" +]
- Changed
asterwise_get_varshaphal_harsha_bala8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "year", - "response_format" -]New value: +[ + "birth", + "year" +]
- Changed
asterwise_get_varshaphal_saham8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "year", - "response_format" -]New value: +[ + "birth", + "year" +]
- Changed
asterwise_get_western_aspects2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "positions", - "response_format" -]New value: +[ + "positions" +]
- Changed
asterwise_get_western_compatibility2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "person1", - "person2", - "response_format" -]New value: +[ + "person1", + "person2" +]
- Changed
asterwise_get_western_composite2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "person1", - "person2", - "response_format" -]New value: +[ + "person1", + "person2" +]
- Changed
asterwise_get_western_horoscope2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "sun_sign", - "period", - "response_format" -]New value: +[ + "sun_sign", + "period" +]
- Changed
asterwise_get_western_lunar_return2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_western_moon_calendar2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_western_moon_phase2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - removed
Input schema / requiredRemoved value: -[ - "response_format" -]
- Changed
asterwise_get_western_natal2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_western_planetary_return2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "planet", - "response_format" -]New value: +[ + "birth", + "planet" +]
- Changed
asterwise_get_western_secondary_progressions2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_western_solar_arc2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_western_solar_return2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "year", - "response_format" -]New value: +[ + "birth", + "year" +]
- Changed
asterwise_get_western_synastry2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "person1", - "person2", - "response_format" -]New value: +[ + "person1", + "person2" +]
- Changed
asterwise_get_western_transits_daily2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_western_transits_monthly2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_western_transits_weekly2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_western_zodiac_compatibility2 fields changed- added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "sign1", - "sign2", - "response_format" -]New value: +[ + "sign1", + "sign2" +]
- Changed
asterwise_get_yogas8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
- Changed
asterwise_get_yogini_dasha8 fields changed- changed
Input schema / properties / birth / properties / date / descriptionPrevious value: -"Birth date in YYYY-MM-DD format. Example: '1985-11-12'"New value: +"Birth date YYYY-MM-DD." - changed
Input schema / properties / birth / properties / lat / descriptionPrevious value: -"Birth latitude in decimal degrees. North positive, south negative. Example: 19.0760 for Mumbai, -33.8688 for Sydney"New value: +"Latitude in decimal degrees, north positive (Mumbai 19.076)." - changed
Input schema / properties / birth / properties / lon / descriptionPrevious value: -"Birth longitude in decimal degrees. East positive, west negative. Example: 72.8777 for Mumbai, -74.0060 for New York"New value: +"Longitude in decimal degrees, east positive (Mumbai 72.8777)." - changed
Input schema / properties / birth / properties / person_name / descriptionPrevious value: -"Name of the person for this chart. Example: 'Arjun Mehta'"New value: +"Person's name, used in labels only." - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant."New value: +"Birth time HH:MM (24h), e.g. '06:45'. Omit if unknown (a sunrise chart is used and birth_time_provided=false); never pass '00:00' for unknown." - changed
Input schema / properties / birth / properties / timezone / descriptionPrevious value: -"IANA timezone for the birth location. Examples: 'Asia/Kolkata' (India), 'America/New_York' (New York), 'Europe/London' (London), 'Asia/Tokyo' (Japan), 'America/Los_Angeles' (Los Angeles), 'Europe/Paris' (Paris), 'Asia/Dubai' (Dubai), 'Asia/Singapore' (Singapore), 'America/Chicago' (Chicago), 'Australia/Sydney' (Sydney). Default: Asia/Kolkata"New value: +"IANA timezone of the birth place, e.g. 'Asia/Kolkata', 'America/New_York', 'Europe/London'. Default: Asia/Kolkata" - added
Input schema / properties / response_format / defaultAdded value: +"markdown" - changed
Input schema / requiredPrevious value: -[ - "birth", - "response_format" -]New value: +[ + "birth" +]
33 tool updates
- Changed
asterwise_check_sade_sati6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_ashtakavarga6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_ashtottari_dasha6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_char_dasha6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_chart_strength6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_compatibility12 fields changed- added
Input schema / properties / person1 / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / person1 / properties / time / defaultAdded value: +null - changed
Input schema / properties / person1 / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / person1 / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / person1 / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / person1 / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +] - added
Input schema / properties / person2 / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / person2 / properties / time / defaultAdded value: +null - changed
Input schema / properties / person2 / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / person2 / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / person2 / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / person2 / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_crystal_recommendations_natal6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_dasha6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_dasha_transits6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_dashakoot12 fields changed- added
Input schema / properties / person1 / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / person1 / properties / time / defaultAdded value: +null - changed
Input schema / properties / person1 / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / person1 / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / person1 / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / person1 / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +] - added
Input schema / properties / person2 / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / person2 / properties / time / defaultAdded value: +null - changed
Input schema / properties / person2 / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / person2 / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / person2 / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / person2 / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_divisional_chart6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_doshas6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_gemstone_recommendations6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_ghat_chakra6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_gochar6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_kp_chart6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_kp_significators6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_lal_kitab_chart6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_lal_kitab_remedies6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_nakshatra_prediction6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_natal_chart6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_papasamyam12 fields changed- added
Input schema / properties / person1 / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / person1 / properties / time / defaultAdded value: +null - changed
Input schema / properties / person1 / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / person1 / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / person1 / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / person1 / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +] - added
Input schema / properties / person2 / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / person2 / properties / time / defaultAdded value: +null - changed
Input schema / properties / person2 / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / person2 / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / person2 / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / person2 / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_pitra_dosha6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_porutham12 fields changed- added
Input schema / properties / person1 / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / person1 / properties / time / defaultAdded value: +null - changed
Input schema / properties / person1 / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / person1 / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / person1 / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / person1 / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +] - added
Input schema / properties / person2 / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / person2 / properties / time / defaultAdded value: +null - changed
Input schema / properties / person2 / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / person2 / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / person2 / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / person2 / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_remedies6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_special_ascendants6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_thirumana_porutham12 fields changed- added
Input schema / properties / person1 / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / person1 / properties / time / defaultAdded value: +null - changed
Input schema / properties / person1 / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / person1 / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / person1 / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / person1 / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +] - added
Input schema / properties / person2 / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / person2 / properties / time / defaultAdded value: +null - changed
Input schema / properties / person2 / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / person2 / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / person2 / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / person2 / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_transits6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_varshaphal6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_varshaphal_harsha_bala6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_varshaphal_saham6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_yogas6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
- Changed
asterwise_get_yogini_dasha6 fields changed- added
Input schema / properties / birth / properties / time / anyOfAdded value: +[ + { + "pattern": "^\\d{2}:\\d{2}$", + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / birth / properties / time / defaultAdded value: +null - changed
Input schema / properties / birth / properties / time / descriptionPrevious value: -"Birth time in HH:MM format (24-hour). Example: '06:45'. Use '00:00' if unknown."New value: +"Birth time in HH:MM 24-hour format. Example: '06:45'. Omit entirely if the birth time is unknown: a sunrise chart is used and birth_time_provided returns false. Do not pass '00:00' for an unknown time, it is treated as a real midnight birth and returns a confidently wrong ascendant." - removed
Input schema / properties / birth / properties / time / patternRemoved value: -"^\\d{2}:\\d{2}$" - removed
Input schema / properties / birth / properties / time / typeRemoved value: -"string" - changed
Input schema / properties / birth / requiredPrevious value: -[ - "date", - "time", - "lat", - "lon" -]New value: +[ + "date", + "lat", + "lon" +]
3 tool updates
- Added
asterwise_get_crystal_recommendations_natal - Added
asterwise_get_varshaphal_harsha_bala - Added
asterwise_get_varshaphal_saham
12 tool updates
- Added
asterwise_get_angel_number - Added
asterwise_get_angel_number_personal - Added
asterwise_get_angel_number_today - Added
asterwise_get_crystal - Added
asterwise_get_crystal_by_planet - Added
asterwise_get_crystal_recommendations - Added
asterwise_get_crystals - Changed
asterwise_get_divisional_chart5 fields changed- added
Input schema / properties / chart_type / anyOfAdded value: +[ + { + "enum": [ + "D1", + "D2", + "D3", + "D4", + "D7", + "D9", + "D10", + "D12", + "D16", + "D20", + "D24", + "D27", + "D30", + "D40", + "D45", + "D60" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / chart_type / defaultAdded value: +null - removed
Input schema / properties / chart_type / enumRemoved value: -[ - "D1", - "D2", - "D3", - "D4", - "D7", - "D9", - "D10", - "D12", - "D16", - "D20", - "D24", - "D27", - "D30", - "D40", - "D45", - "D60" -] - removed
Input schema / properties / chart_type / typeRemoved value: -"string" - changed
Input schema / requiredPrevious value: -[ - "birth", - "chart_type", - "response_format" -]New value: +[ + "birth", + "response_format" +]
- Added
asterwise_get_dream_symbol - Added
asterwise_get_dream_symbols - Added
asterwise_get_festival_calendar - Added
asterwise_get_tamil_panchanga
2 tool updates
- Added
asterwise_get_ghat_chakra - Added
asterwise_get_pitra_dosha
6 tool updates
- Added
asterwise_get_ayanamsha - Added
asterwise_get_biorhythm - Added
asterwise_get_nakshatra_prediction - Added
asterwise_get_planet_nature - Added
asterwise_get_puja_suggestions - Added
asterwise_get_rudraksha
1 tool update
- Added
asterwise_get_western_horoscope
32 tool updates
- Added
asterwise_draw_tarot_cards - Added
asterwise_get_balance_number - Added
asterwise_get_expression_number - Added
asterwise_get_karmic_lessons - Added
asterwise_get_maturity_number - Added
asterwise_get_personal_cycles - Added
asterwise_get_personality_number - Added
asterwise_get_soul_urge_number - Added
asterwise_get_tarot_card - Added
asterwise_get_tarot_card_of_the_day - Added
asterwise_get_tarot_cards - Added
asterwise_get_tarot_celtic_cross - Added
asterwise_get_tarot_major_arcana - Added
asterwise_get_tarot_suit - Added
asterwise_get_tarot_three_card_spread - Added
asterwise_get_tarot_yes_no - Added
asterwise_get_western_aspects - Added
asterwise_get_western_compatibility - Added
asterwise_get_western_composite - Added
asterwise_get_western_lunar_return - Added
asterwise_get_western_moon_calendar - Added
asterwise_get_western_moon_phase - Added
asterwise_get_western_natal - Added
asterwise_get_western_planetary_return - Added
asterwise_get_western_secondary_progressions - Added
asterwise_get_western_solar_arc - Added
asterwise_get_western_solar_return - Added
asterwise_get_western_synastry - Added
asterwise_get_western_transits_daily - Added
asterwise_get_western_transits_monthly - Added
asterwise_get_western_transits_weekly - Added
asterwise_get_western_zodiac_compatibility
48 tool updates
- First observed
asterwise_check_mobile_number - First observed
asterwise_check_sade_sati - First observed
asterwise_check_vehicle_number - First observed
asterwise_get_ashtakavarga - First observed
asterwise_get_ashtottari_dasha - First observed
asterwise_get_business_name_analysis - First observed
asterwise_get_chaldean_numerology - First observed
asterwise_get_char_dasha - First observed
asterwise_get_chart_strength - First observed
asterwise_get_choghadiya - First observed
asterwise_get_compatibility - First observed
asterwise_get_dasha - First observed
asterwise_get_dasha_transits - First observed
asterwise_get_dashakoot - First observed
asterwise_get_divisional_chart - First observed
asterwise_get_doshas - First observed
asterwise_get_gemstone_recommendations - First observed
asterwise_get_gochar - First observed
asterwise_get_hora - First observed
asterwise_get_horoscope - First observed
asterwise_get_kp_chart - First observed
asterwise_get_kp_ruling_planets - First observed
asterwise_get_kp_significators - First observed
asterwise_get_lal_kitab_chart - First observed
asterwise_get_lal_kitab_remedies - First observed
asterwise_get_lo_shu_grid - First observed
asterwise_get_lucky_numbers - First observed
asterwise_get_muhurta - First observed
asterwise_get_nakshatra_details - First observed
asterwise_get_name_correction - First observed
asterwise_get_natal_chart - First observed
asterwise_get_number_meaning - First observed
asterwise_get_numerology_compatibility - First observed
asterwise_get_numerology_profile - First observed
asterwise_get_panchanga - First observed
asterwise_get_panchanga_calendar - First observed
asterwise_get_papasamyam - First observed
asterwise_get_personal_year - First observed
asterwise_get_porutham - First observed
asterwise_get_prashna_chart - First observed
asterwise_get_rahu_kaal - First observed
asterwise_get_remedies - First observed
asterwise_get_special_ascendants - First observed
asterwise_get_thirumana_porutham - First observed
asterwise_get_transits - First observed
asterwise_get_varshaphal - First observed
asterwise_get_yogas - First observed
asterwise_get_yogini_dasha
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.167 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm49 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.