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
- Unhealthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
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. Defaults to today when omitted. | |
| 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 read-only, idempotent, non-destructive behavior, so the bar is lower. The description adds meaningful behavior beyond that: formatting noise is ignored, only digits contribute, country code digits are included in the reduction sum, and the output is harmonic scoring plus interpretive copy. A doc link supplies the full 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 compact and uses labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE) to front-load the most important routing and input information. Every sentence earns its place, and the docs link is an appropriate terminal reference.
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 numerology analysis tool, the description covers what the tool does, how inputs are normalized, which sibling to use before it, which siblings to avoid confusing it with, and where to find the full contract. An output schema and annotations handle return shape and side-effect safety.
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 clarifying input normalization and reduction semantics: formatting noise is ignored, only digits contribute, and country code digits are included in the reduction sum—details not inferable from 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 opens with a specific transformation: digit-stripping a mobile string, reducing it with the owner's name and birth date, and returning harmonic scoring plus interpretive copy. It also names two sibling tools it should not be confused with, making its domain distinct.
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?
A WORKFLOW section recommends anchoring with asterwise_get_numerology_profile before judging the line, and the DO NOT CONFUSE WITH section explicitly excludes vehicle plate and business-name analysis by contrasting their rules. This gives an agent clear routing between this tool and near-neighbor siblings.
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 cover read-only, idempotent, and non-destructive behavior, so the description only needs to add context beyond those. It does: current-day pinning, output components (intensity, upcoming cycles, historical rows), and a link to the full output/error contract. This goes beyond minimal safety disclosure, though it could still mention rate limits or auth requirements explicitly.
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, and DO NOT CONFUSE WITH. The main capability is front-loaded in one sentence, and the rest is scannable without redundancy. The external contract link is a reasonable substitute for listing every error code inline.
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 astrological tool with a detailed input schema, output schema, and full annotations, the description covers what an agent needs: workflow order, sibling alternatives, current-date behavior, output shape, and a fallback link for detailed contracts. No crucial decision factor appears 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 documents all parameters with 100% coverage, including defaults, formats, and enums, so the baseline of 3 applies. The description adds the important 'no explicit query date' constraint and references the BirthData global contract, but it does not need to re-explain the schema's parameter details.
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.' This clearly separates it from generic transit tools. The 'DO NOT CONFUSE WITH' section names asterwise_get_gochar and asterwise_get_transits and explains exactly how they differ.
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 and structured: it recommends calling asterwise_get_natal_chart before, suggests asterwise_get_gochar after, and says when not to use this tool in favor of get_gochar or get_transits. The INPUT CONTRACT also states that no query date should be supplied because the API pins to the current day.
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. Defaults to today when omitted. | |
| 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 cover read-only, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond that: letters and separators are ignored, reduction uses only numeric digits, the output schema matches mobile analysis, and a full output/error contract link is provided. It doesn't discuss auth or rate limits, but those are not salient for this read-only 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 core behavior is front-loaded, and the WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections are clearly labeled and scannable. It is longer than the minimal case, but every section earns its place and no content is 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?
With comprehensive annotations, 100% schema coverage, an existing output schema, and a link to the full contract, the description covers input normalization, parameter participation, workflow, and sibling differentiation. A direct 'use this when...' trigger would strengthen it, but the alternative routing already implies the intended use case.
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 high-level context that name and birth date participate in the reduction and that non-digits are stripped, but it does not give parameter-by-parameter detail beyond the already rich schema. No compensation 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 opening sentence uses specific verbs and resources: it 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 names sibling tools and what they examine, making 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 states a recommended preceding tool and notes that no follow-up is needed. The 'DO NOT CONFUSE WITH' section explicitly routes to asterwise_check_mobile_number for phone digit rules and asterwise_get_business_name_analysis for business Expression, 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_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, but the description adds materially useful behavioral context: cryptographic randomness via secrets.SystemRandom, complete independence with no session state, uniqueness of drawn cards, local range validation with MCP INVALID_PARAMS, and the independent 50% reversal probability. No statement in the description contradicts 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 detailed but tightly structured into WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections, with the core behavior front-loaded in the first sentence. Every section earns its place, and the documentation link closes any remaining output or error questions.
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?
Together with the full input schema and the presence of an output schema, the description covers invocation arguments, validation behavior, the interpretation of drawn cards via active_meaning and active_keywords, and disambiguation from nearly 100 sibling tools. Nothing critical 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?
Schema coverage is 100%, yet the description still adds significant meaning beyond the schema: count's valid 1–78 range, default, concrete usage examples, and rejection behavior; allow_reversed's independent 50% cryptographic chance. This goes well beyond the schema's one-line property 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 precise action: 'Draws N unique random cards from the 78-card deck using cryptographic randomness.' It clearly specifies the resource, the verb, and the uniqueness constraint, and the 'DO NOT CONFUSE WITH' section names sibling tools with their different behaviors, 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 dedicated 'DO NOT CONFUSE WITH' section explicitly contrasts this tool with asterwise_get_tarot_card_of_the_day, asterwise_get_tarot_three_card_spread, and asterwise_get_tarot_celtic_cross, explaining why each is different. It also states the standalone workflow with BEFORE and AFTER sections, leaving no ambiguity about when to invoke it.
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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond that: supported number formats, a standalone workflow with no dependencies, and a link to the full output and error contract, which partially covers error/edge-case 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 and front-loaded: the core action appears first, followed by compact labeled sections for workflow, input contract, exclusions, and documentation. Each section earns its place, and the 'DO NOT CONFUSE WITH' block is especially efficient for agent 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?
With only two parameters, one required, an output schema present, and simple flat structure, the description is complete for an agent to call the tool correctly. It covers supported inputs, shows examples, explains the difference from related siblings, confirms no prerequisites, 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 coverage is 100%, so the schema already documents both parameters and the response_format enum. The description adds value by enumerating the exact supported angel number patterns (000, 111–999, 911, 1010, 1111, 1234, etc.) and providing additional examples like '444' and '911', which clarifies the intended input beyond the schema's generic 'as seen' wording.
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 the meaning of a specific angel number by its sequence.' It also explicitly distinguishes itself from three sibling tools in the 'DO NOT CONFUSE WITH' section, so an agent can reliably separate it from number_meaning, angel_number_today, and angel_number_personal.
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 clear when-to-use guidance by listing the exact supported sequences, and it names alternatives with the conditions that select them: today's collective daily number, personal angel number from birth date, and Pythagorean numerology for 1–33. This is explicit routing information rather than leaving usage up to inference.
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. Defaults to today when omitted. | |
| 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 readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds genuine value beyond the annotations: the internal computation logic (Pythagorean Life Path base, triple vs quadruple digit mapping) and a link to the full error contract. It doesn't detail edge-case error behavior, but the output schema and docs link fill that gap.
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 labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and front-loads the core computation. Every sentence carries distinct information — the mapping rules, the recommended pre-call, the parameter contract, and sibling disambiguation — with no filler 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?
For a 3-param read-only tool with an output schema, the description covers the algorithm, a recommended pre-call, the input contract with an example, disambiguation from two closely related siblings, and a pointer to the full output/error contract. Nothing an agent needs to 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%, so the schema already documents all three parameters. The description adds a concrete date example ('1994-03-31') and clarifies that date means birth date, but the name parameter description largely repeats the schema's wording and response_format is handled entirely by the schema. This is the baseline-3 case where structured data 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 opens with a specific verb and resource: 'Computes a personal angel number from a birth date using the Pythagorean Life Path as the base.' It then pins down the exact behavior with the mapping rule (Life Path 1-9 → triple sequence, master numbers 11/22/33 → 1111/2222/3333), making the tool's identity unambiguous even among ~100 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?
There is an explicit WORKFLOW section ('BEFORE: RECOMMENDED — asterwise_get_numerology_profile — confirm Life Path before calling') and a DO NOT CONFUSE WITH section that names asterwise_get_angel_number_today ('collective daily number from today's date, not birth date') and asterwise_get_numerology_profile ('full Pythagorean profile; this tool extracts only the Life Path → angel sequence mapping'). Selection conditions are explicit and actionable.
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 cover read-only, idempotent, non-destructive traits. The description adds useful behavioral context beyond annotations: the date is used automatically, no parameters are required, and the computation/reduction logic is spelled out. A link to the full output/error contract covers remaining 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 front-loaded with the core behavior and keeps each section purposeful: algorithm, workflow, input contract, disambiguation, and documentation link. No filler or repetition of 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 zero-required-parameter, read-only tool with an output schema, the description covers computation, standalone usage, sibling differences, and points to a full contract. Nothing an agent needs to 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% for the single response_format parameter, and the schema already explains markdown vs json. The description adds no parameter-specific meaning, but the baseline of 3 applies because the schema carries the full burden for the only 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 opens with a precise verb and resource: 'Returns today's angel number computed from the current date.' It adds the exact algorithm (sum digits, reduce to 1-9, triple it) and explicitly distinguishes the tool from asterwise_get_angel_number and asterwise_get_angel_number_personal, so an agent can tell it apart.
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 declares 'BEFORE: None — standalone' and directs the agent to asterwise_get_angel_number_personal after this tool when a personal number is needed. The DO NOT CONFUSE WITH section names the two sibling alternatives and the exact condition that selects them, so when-to-use vs alternatives is explicit.
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 declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context: what is computed (bindu matrices, reductions, sarva totals), how it fits into transit analysis, and a link to the full output/error contract. It does not over-promise or 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 well-organized into clear, labeled sections and every section serves a purpose: workflow, input contract, and sibling disambiguation. The uppercase labels add structure but are slightly noisy, and the repeated mention of asterwise_get_gochar in workflow and disambiguation is minor redundancy. Overall it is tight and front-loaded.
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 input schema, output schema, and annotation coverage, the description is complete enough for an agent to select and invoke the tool correctly. It covers workflow placement, input constraints, sibling differentiators, and points to the full contract via the documentation link. Nothing essential 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 input schema already documents all parameters comprehensively. The description's 'INPUT CONTRACT: BirthData only' adds minor clarifying context, but it does not materially extend the parameter semantics 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?
States a specific verb and resource: 'Computes full Ashtakavarga bindu matrices, trikona and ekadhipatya reductions, and sarva totals from BirthData for transit support analysis.' This clearly differentiates the tool from siblings via the 'DO NOT CONFUSE WITH' section, naming asterwise_get_chart_strength and asterwise_get_gochar explicitly.
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 provides explicit before/after guidance: recommend asterwise_get_natal_chart before and asterwise_get_gochar after. The 'DO NOT CONFUSE WITH' section explicitly names alternatives and explains why they are different, and 'INPUT CONTRACT: BirthData only' sets clear invocation constraints.
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?
Annotations already mark the tool as read-only and idempotent; the description adds the critical behavioral contract: periods appear under data.periods.root[] rather than data.periods[], dates are DD/MM/YYYY, and levels are validated locally before the API call. It also points to a full output/error contract, making runtime behavior predictable.
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 front-loaded purpose and clear bolded sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE). It is slightly redundant, repeating the data.periods.root[] and DD/MM/YYYY details in both the opening line and INPUT CONTRACT, but every section still contributes.
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 dasha tool with nested input, three parameters, and many astrological siblings, the description covers workflow, input constraints, output location/date format, and disambiguation from two near neighbors. The output schema carries return-value details, and a link supplies the full error contract, so 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 coverage is 100%, so the baseline is 3; the description adds value by pinning levels to 1–5, cross-referencing asterwise_get_dasha's level semantics, and stating local enforcement. This is more than the schema alone provides, though birth and response_format are already fully documented there.
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?
Opens with a specific verb and resource: 'Computes the 108-year Ashtottari Dasha tree' with configurable depth and output path. It explicitly differentiates itself from asterwise_get_dasha and asterwise_get_yogini_dasha by system, length, and response shape.
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 preceding tool (asterwise_get_natal_chart) and an optional follow-up (asterwise_get_dasha) for Vimshottari comparison. The DO NOT CONFUSE WITH section names the alternatives and the exact conditions that distinguish them, so an agent can select the right tool without inference.
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 carry the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false). The description adds useful behavioral context beyond that: it is a standalone reference returning all four systems in one call, and it links to the full output/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?
Purpose is front-loaded in one sentence, followed by compact labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and a docs link. Each section earns its place with no filler or 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?
For a simple two-optional-param lookup tool with an output schema and safety annotations, the description covers purpose, workflow context, input contract, sibling differentiation, and points to the authoritative output/error contract. Nothing needed to 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% — both date and response_format are fully documented with format, default, and enum values. The description largely restates the date contract from the schema and does not materially add parameter-level meaning, 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?
Opens with a specific verb+resource+scope: 'Returns ayanamsha values for all four supported systems (Lahiri, Raman, KP, Tropical) for a given date.' The DO NOT CONFUSE WITH section further disambiguates it from asterwise_get_natal_chart and asterwise_get_western_natal, so an agent can distinguish 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?
Provides explicit when-not guidance: asterwise_get_natal_chart 'applies Lahiri ayanamsha automatically to natal positions' and asterwise_get_western_natal 'uses tropical zodiac (ayanamsha = 0).' The WORKFLOW section also declares it a standalone reference with no before/after dependencies, leaving no ambiguity about when to invoke it.
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 cover readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is known. The description adds valuable algorithmic behavior: first-letter selection, Pythagorean values, summing and reduction, plus worked examples and a link to the full output/error contract. No hidden behavioral concerns are apparent.
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 one-sentence summary, WORKFLOW, INPUT CONTRACT, examples, and sibling disambiguation. Every section earns its place, and the core algorithm is front-loaded. The length is justified given the large sibling tool set.
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?
Together with annotations and the output schema, the description covers naming rules, reduction behavior, standalone status, disambiguation from relevant siblings, and a documentation link for the full contract. Nothing critical 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 coverage is 100% for both parameters, so the baseline is met. The description goes beyond the schema by specifying that the name should be the full legal name as used at birth and that each space-separated part contributes exactly one initial, with concrete examples. The response_format parameter is sufficiently documented 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?
States 'Calculates the Balance number from the first letter of each name part, using Pythagorean values' — a specific verb, resource, and method. The DO NOT CONFUSE WITH section distinguishes it from asterwise_get_expression_number and asterwise_get_karmic_lessons, making its unique purpose 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?
The WORKFLOW section clearly says the tool is standalone with no before/after steps, and the INPUT CONTRACT defines how to format the name. DO NOT CONFUSE WITH names relevant siblings and explains the key difference in letter usage, but there is no explicit 'use this when...' directive, so it falls just short of perfect guidance.
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?
Annotations already declare readOnlyHint=true and destructiveHint=false, so no side-effect disclosure is needed. The description adds meaningful context: it is standalone, computes three named cycles, has sensible date/day defaults, and points to a full output and error contract. It does not inline the error contract details, but for a read-only computation this 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 description is organized into clear labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) with no filler. The core function is front-loaded, and every sentence contributes either a default, a constraint, or a sibling distinction that helps the agent act correctly.
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 one required parameter, fully described schema fields, an output schema, and safety annotations, the description is complete: it covers prerequisites (none), post-steps, defaults, exclusions, and a pointer to the full contract. Nothing necessary for correct selection or 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 every parameter; that sets a baseline of 3. The description adds extra value by restating the required/optional contract, calling out the 1-90 valid range for days (absent from the schema), and confirming defaults for target_date and days.
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 uses a specific verb ('Computes') plus a precise resource: physical, emotional, and intellectual biorhythm cycles with their period lengths (23/28/33 days). It also distinguishes itself from asterwise_get_nakshatra_prediction and asterwise_get_panchanga, making it easy to tell apart from the 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?
The WORKFLOW section explicitly states 'BEFORE: None — standalone' and points to asterwise_get_nakshatra_prediction as a sensible AFTER step. The DO NOT CONFUSE WITH section names two siblings and the condition that selects them, giving 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_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. Defaults to today when omitted. | |
| 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 declare readOnlyHint and idempotentHint, and the description adds non-obvious input behavior: special characters and digits are acceptable, non-letters are stripped per upstream rules, and no local validation is performed on name or date. It also provides a full output and error contract link, giving the agent a path for any remaining behavioral questions. 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 front-loaded with a one-sentence functional summary, then organized into labeled WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections. Each section contributes distinct information, and the length is justified by the large sibling set and the need to communicate input tolerances.
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, annotations, and the linked full contract, the description covers prerequisites, follow-up routing, input validation behavior, and alternatives. Nothing needed to correctly invoke the tool is missing, aside from the schema-level date required/default ambiguity noted under parameter semantics.
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 coverage, the schema already documents each parameter, so the baseline is 3. The description adds meaning by clarifying that date is the founder birth date and that business_name tolerates special characters/digits while non-letters are stripped. One caveat: the schema lists date as required while its own property description says it defaults to today when omitted, an internal ambiguity the description does not resolve.
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 a specific operation (reduces), the resource (business name), the basis (founder birth date), and the outputs (thematic suitability lists, harmony score). The DO NOT CONFUSE WITH section explicitly separates it from asterwise_get_name_correction and asterwise_check_mobile_number, making it distinguishable 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 states there is no prerequisite and names the AFTER tool (asterwise_get_name_correction) with the exact condition: if the entity is a person, not a brand. The DO NOT CONFUSE WITH section gives two explicit alternatives and their distinguishing use cases, so an agent knows when not 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_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. Defaults to today when omitted. | |
| 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, and destructiveHint=false. The description adds useful non-annotation context: input is 'forwarded as-is; no local validation,' the operation is standalone, and output includes specific analysis types. This is a meaningful supplement 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 core purpose is front-loaded, followed by compact labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that each carry distinct value. The documentation link is included without padding. Every sentence 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?
Given the output schema exists, annotations cover safety, and the description covers workflow, input handling, sibling differentiation, and points to the full error contract, this is complete. An agent can correctly invoke and route this tool without external guessing.
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 the note that name and date are forwarded as-is with no local validation, which is mild extra context, but it does not enrich the meaning of individual parameters beyond what the schema already 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 opens with a specific verb-resource pair: 'Reduces a name and birth date through the Chaldean letter-value system and returns name, birth, and combined compound analyses.' It also explicitly names sibling tools it is not, such as asterwise_get_numerology_profile and asterwise_get_lo_shu_grid, making differentiation immediate and 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 structured WORKFLOW section stating the tool is standalone, an AFTER suggestion for when to compare with Pythagorean cores, and a DO NOT CONFUSE WITH section that names two alternatives and explains why they differ. This gives an agent explicit routing criteria.
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?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: output includes ISO-dated Maha/Antar sequences and karaka mappings, and the period date format differs from asterwise_get_dasha. A link to the full output and error contract further discloses 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 is efficiently structured with clear labels: WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH. Every section adds distinct value—core function, sequencing, date-format caveat, and sibling disambiguation—without unnecessary 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 tool's complexity, the description is complete: it states the operation, output shape, workflow, disambiguation from two related dasha tools, ISO date contract, and points to full documentation. With output schema, 100% parameter schema coverage, and safety annotations also present, nothing critical is missing for an agent 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%, and the input schema thoroughly documents birth fields, response_format, defaults, and constraints. The description adds only marginal parameter-relevant meaning, mainly clarifying that period dates in the output are ISO-formatted and that other parameters follow the BirthData global contract. This meets the baseline expectation but doesn't go 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?
Description states a precise verb and outcome: 'Computes Char Dasha from birth data and returns sign lords as period rulers with ISO-dated Maha and Antar sequences plus karaka mappings.' It clearly differentiates itself from sibling tools by naming asterwise_get_dasha and asterwise_get_yogini_dasha and explaining what they do instead.
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: use asterwise_get_natal_chart before for context and asterwise_get_dasha after for an optional Vimshottari cross-check. The 'DO NOT CONFUSE WITH' section explicitly tells the agent when not to use this tool and names the correct alternatives.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: it aggregates from BirthData only, has no extra toggles, and points to a full output/error contract. This goes beyond what annotations alone provide, though it stops short of describing the exact output shape or error modes.
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 WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections. Every sentence earns its place: the opening lists what is returned, the workflow sections guide sequencing, and the confusion section prevents mis-selection. It is longer than a one-liner, but the complexity of the tool justifies 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?
Despite the high complexity of the astrological content, the description is complete for an agent: it lists the returned data bundles, gives workflow context, names the relevant alternative tools, states the input contract, and links to the full output/error contract. The output schema also exists, so the description does not need to explain return values in detail. 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 input schema fully documents birth and response_format, including nested fields and defaults. The description adds only the contract-level note 'BirthData only; no extra toggles,' which is marginally useful but not necessary given the schema's completeness. 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 ('Aggregates') and enumerates the exact resources returned: Shadbala, Bhavbala, Vimshopaka with varga contributions, sixteen vargas, Ashtakavarga, karaka maps, and graha yuddha pairs. It also explicitly differentiates itself from similar siblings in the DO NOT CONFUSE WITH section, so an agent can tell it apart from asterwise_get_yogas and asterwise_get_ashtakavarga.
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 context: run asterwise_get_natal_chart before and asterwise_get_yogas after. The DO NOT CONFUSE WITH section states exact conditions for choosing alternatives, such as using asterwise_get_ashtakavarga when the full strength bundle is not needed. This is strong 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_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 | Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone. |
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 adds meaningful behavioral context by explaining the computation basis (sunrise/sunset at a location) and the returned slot attributes (quality, ruler, local clock bounds). It also links 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 well-structured with clear WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections, and the core sentence is front-loaded. The line 'All parameters are defined in the tool schema' is redundant and adds little value, keeping this from a 5.
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 broadly complete: it covers workflow, sibling distinctions, result semantics, and provides a documentation link, with an output schema available. It loses a point because the location parameter's schema description is contradictory and the tool description does not explicitly clarify whether a place name is acceptable or only lat/lon/date are.
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 even with no parameter details in the description. The description adds only a restatement that LocationInput enforces date format and lat/lon ranges, while the schema's location property itself is internally ambiguous about a place-name alternative versus required lat/lon/date; the description does not resolve that ambiguity.
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: splitting a solar day into sixteen Choghadiya segments and labeling quality, ruler, and local clock bounds. It also explicitly distinguishes itself from asterwise_get_hora and asterwise_get_muhurta, so the agent can tell this tool apart from its closest 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 stating BEFORE and AFTER usage, including the optional follow-up with asterwise_get_rahu_kaal for an inauspicious band overlay. The DO NOT CONFUSE WITH section names alternatives and their key differences, giving 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_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 mark the tool as read-only, idempotent, and non-destructive, and the description adds useful behavioral context: scoring is computed upstream from the payloads, unknown midnight times are accepted without extra flags, and a full output/error contract is linked. The described behavior 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 longer than average but uses labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that are easy to parse, and the primary purpose is front-loaded in the first sentence. Every section adds distinct value with 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?
For a high-complexity tool with nested BirthData inputs, the description covers prerequisites, related follow-up tools, input contract, sibling disambiguation, and points to a complete output/error contract; the output schema handles return-value specifics. Nothing essential 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?
The input schema has 100% coverage, so the schema already documents person1, person2, and response_format fully. The description adds the useful cross-reference that the two objects follow a global BirthData contract, but it does not materially extend the schema's parameter explanations.
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 operation ('Scores North Indian Ashtakoota / 36-point Guna Milan'), the resource (two charts), and the returned contents (koota breakdown, dosha flags, vetoes, mangal cross-check, narrative guidance). It is further disambiguated from the two most similar siblings, asterwise_get_dashakoot and asterwise_get_porutham.
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 call asterwise_get_natal_chart first for each person and optionally asterwise_get_papasamyam afterward, and the DO NOT CONFUSE WITH section names the alternatives that should not be used. This is explicit when-to-use and when-not-to-use guidance, not just a vague hint.
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 | 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 the safety profile is covered. The description adds useful behavioral detail: case-insensitive matching, full detail including cautions, and a link to the output/error contract. It doesn't discuss invalid inputs or edge cases, but this is adequate for a read-only lookup with an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized with clear section headers and front-loaded with the core purpose. Each section — workflow, input contract, disambiguation, documentation link — earns its place without unnecessary 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 tool's simple two-parameter interface and output schema, the description is complete: it covers prerequisites, input semantics, examples, sibling-tool differentiation, and points to the 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?
The schema's description for 'name' is mismatched (numerology-related text), but the description's INPUT CONTRACT corrects this by specifying 'Crystal slug or display name' and giving concrete examples. It also adds case-insensitivity. The response_format parameter is already well described in the schema, so the description doesn't 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 opens with a specific verb and resource: 'Lookup a specific crystal by slug or name.' It clearly states what is returned (Vedic/Western planetary assignments, healing properties, safety cautions) and includes a DO NOT CONFUSE section that directly separates it 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?
WORKFLOW explicitly states that no prerequisite is needed and that it can be used standalone or after asterwise_get_gemstone_recommendations. The DO NOT CONFUSE section names three alternatives and explains when each is appropriate, giving an agent unambiguous 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_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, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds valuable behavioral detail: results are sorted with primary Navaratna gems first, only Navaratna/Uparatna assignments are returned, and non-Vedic crystals are excluded. A docs link for the output/error contract further improves 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: main behavior, workflow, input contract, and disambiguation. Every sentence serves a purpose, and the most important scoping information is front-loaded.
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 low parameter count, complete schema coverage, and presence of an output schema, the description is fully sufficient. It covers when to use it, what it returns, how results are sorted, valid input values, related workflows, and where to find 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 coverage is 100%, so the schema already documents both parameters. The description adds value by enumerating the exact valid planet values in the INPUT CONTRACT, which is more specific than the schema's examples. It does not describe response_format directly, but the schema already fully explains that 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 clearly states the tool returns all crystals associated with a specific Vedic planet, with specific inclusion/exclusion criteria and sorting behavior. It is easily distinguished from sibling tools like asterwise_get_crystals and asterwise_get_gemstone_recommendations.
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 with recommended BEFORE and AFTER tools, plus a DO NOT CONFUSE WITH section naming alternatives and the conditions under which they should be used instead. This is excellent routing guidance for an agent.
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 establish the tool as read-only, idempotent, and non-destructive. The description adds meaningful behavioral context beyond annotations: results are sorted by how many criteria match, at least one filter is required, and the follow-up workflow points to asterwise_get_crystal. It does not mention rate limits or auth, but those are not critical for this simple read-only 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 clear sections for workflow, input contract, and disambiguation. It is front-loaded with the core purpose and retains useful detail. Minor redundancy exists because 'at least one filter is required' appears in both the opening paragraph and the input contract, but the overall structure is 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?
Given the output schema, annotations, and full schema parameter coverage, the description is complete enough for an agent to select and invoke the tool correctly. It covers required input conditions, sorting behavior, follow-up workflow, sibling disambiguation, and points to a 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 coverage is 100%, so the baseline is 3, but the description adds real value beyond the schema: it specifies that at least one of three filters is required, enumerates valid chakra values, gives examples for zodiac_sign and intention, and adds a max of 20 for limit that the schema does not state. The response_format parameter is left entirely to the schema, but that is acceptable 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 states a specific action and resource: it recommends crystals based on zodiac sign, chakra, or intention keyword. It also distinguishes itself from directly related siblings such as asterwise_get_crystal_by_planet and asterwise_get_gemstone_recommendations 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 description gives clear when-to-use context with the standalone consumer-app workflow, and explicitly lists alternatives to avoid confusing with. It also states the required input contract, making it clear that at least one of zodiac_sign, chakra, or intention must be supplied.
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?
Discloses that the tool internally computes the natal chart, eliminating a prerequisite, and warns that inaccurate birth time changes the Lagna and therefore all house lords and recommendations. It also implies the return shape by noting that a sibling lacks match_score and match_reasons, and points to a full output/error contract. Since annotations already declare readOnlyHint and idempotentHint, this description adds substantial behavioral context beyond 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 long but well organized into labeled sections: WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH. The primary purpose is front-loaded, and every section earns its place given the large number of related 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?
For a 2-parameter nested-input tool with an output schema present, the description covers the before/after workflow, the input contract, the critical birth-time caveat, and sibling disambiguation. It also links to the full output and error contract, so an 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 coverage is 100%, so the baseline is 3, but the description adds a meaningful semantic warning: birth time is pivotal because it changes the Lagna and all house lords. It also confirms the Lahiri ayanamsa default. The phrase 'time (required)' slightly conflicts with the schema's optional/null default, but the intended meaning appears to be a correctness requirement rather than a field-required contract.
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: 'Recommends crystals from a Vedic natal chart using house lordship rules for gem selection.' It also asserts it is the only API that derives recommendations from a computed natal chart, and explicitly says it is not based on zodiac sign or chakra preference, clearly distinguishing 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 a WORKFLOW section with BEFORE/AFTER steps and explicitly says no separate natal chart call is required. The DO NOT CONFUSE WITH section names three alternative tools and the exact conditions that select each, including 'use this for reference, not prescription.'
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 readOnly, idempotent, non-destructive, and closed-world behavior. The description adds valuable context beyond those: it returns exactly 50 records, sorted alphabetically, and enumerates all content categories (chakra, planetary assignments, healing properties, origins, affirmations, cautions). It also links to the full output and error contract, which covers error handling 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 core behavior is front-loaded in the first sentence, followed by a concise list of included data. The WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections are clearly labeled and add distinct value. It is slightly verbose for a no-parameter tool, but every sentence serves a disambiguation or contract purpose, so it is not wasteful.
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 list endpoint with zero required parameters and full schema coverage, the description is complete: it states the exact result size and ordering, enumerates response content, names related tools, gives follow-up workflow, and points to the error contract. An agent has everything needed to decide when and how to 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% — the only parameter, response_format, is fully documented with enum, default, and explanatory text. The description's 'No required parameters' reinforces the contract but doesn't add new meaning beyond the schema. Baseline 3 is appropriate because the schema carries the parameter documentation 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 opens with 'Returns all 50 crystals in the database sorted alphabetically' — a specific verb, resource, and scope. It also lists the detailed fields returned and explicitly differentiates itself from sibling tools via the 'DO NOT CONFUSE WITH' section, so an agent can clearly understand 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?
The 'WORKFLOW' section states there is no prerequisite and names the natural follow-up tool (asterwise_get_crystal_by_planet) for filtering by Vedic planet. The 'DO NOT CONFUSE WITH' section explicitly contrasts this catalogue tool with asterwise_get_crystal, asterwise_get_crystal_by_planet, and asterwise_get_crystal_recommendations, 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_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?
Annotations already mark the tool read-only and idempotent, and the description adds substantial behavioral context: response dates use DD/MM/YYYY rather than ISO, unknown birth time can make lagna-sensitive timing wrong even when '00:00' is accepted, and tree depth levels affect payload size. A full output and error contract URL is also 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 description is longer than average but tightly organized with WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections, each earning its place. The core purpose is front-loaded, and the structured format makes it easy for an agent to scan and apply.
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 still supplies the missing contextual pieces: workflow sequencing, sibling-tool disambiguation, date-format caveats, and a link to the full output/error contract. This is a complete operating manual for 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 description coverage is 100%, so the baseline is 3. The description adds genuine value beyond the schema: it clarifies the levels max of 5, warns about the DD/MM/YYYY date format in periods[], and explains the '00:00' birth-time edge case. This extra context pushes it 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 opens with a specific verb and resource: 'Computes Vimshottari Dasha from birth data' and explicitly states the return shape: 'hierarchical period trees plus current Maha/Antar interpretation blocks.' It also names and distinguishes multiple sibling dasha tools, so an agent can identify this 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 explicitly recommends calling asterwise_get_natal_chart before and asterwise_get_dasha_transits after, giving clear sequencing guidance. The DO NOT CONFUSE WITH section lists three alternative dasha tools and their key differences, providing both when-to-use and when-not-to-use signals.
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 meaningful behavioral context beyond those hints by specifying the output shape — score, percentage, boolean dosha flags, and supplementary diagnostics — and by directing the agent to the full 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 compact despite its information density. The first sentence delivers the core purpose, and the WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections each carry decision-relevant guidance. The documentation link provides an escape hatch 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?
Given the output schema exists and the annotations cover safety, the description fills the remaining gaps: workflow ordering, sibling differentiation, input contract shape, and a link to the full output/error contract. An agent has everything needed to decide on 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 input schema already documents person1, person2, and response_format thoroughly, including defaults, formats, and constraints. The description's reference to 'Two BirthData objects per global contract' reinforces the core requirement but does not materially expand on 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: it computes the ten-koota Dashakoot grid, converts it to a ten-point score with percentage, and exposes boolean dosha flags plus diagnostics. It also explicitly distinguishes itself from asterwise_get_compatibility and asterwise_get_porutham, so an agent can tell it apart from nearby 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 states a recommended prerequisite (asterwise_get_natal_chart) and an optional follow-up (asterwise_get_papasamyam), giving explicit temporal context. The DO NOT CONFUSE WITH section names concrete alternatives and the exact reason they are not interchangeable, leaving little ambiguity about when this tool is appropriate.
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 cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the description's burden is lower. It adds genuinely useful behavioral context beyond annotations: 'today' is fixed by the API, unknown birth time handling follows a global contract, and a full output/error contract is linked. The 'time=00:00 accepted without detection' phrasing is mildly confusing next to the schema's 'never pass 00:00 for unknown', but it does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the opening sentence, followed by labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that make the content easy to scan. Although roughly 120 words, the length is earned: this tool sits amid three near-identical siblings, and the doc link at the end avoids inlining the full error 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?
An output schema exists, so return-value details need no further elaboration. The description covers every other selection and invocation need: what the tool computes, what to run before and after, the fixed-today input quirk, sibling differentiators, and a link to the full output/error contract. Nothing an agent needs to correctly select and invoke this 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 description coverage is 100%, so the schema already documents every parameter in detail, warranting a baseline of 3. The description adds value by explaining why there is no date parameter ('today' is fixed by the API), which prevents an agent from searching for a nonexistent field, and by pointing to the global BirthData contract for shared conventions. This goes modestly beyond the schema without duplicating 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 first sentence states a specific verb and resource: 'Combines active Vimshottari lords with today's transits and returns scored correlations plus transit longitudes and houses from Moon and Lagna.' It is fully distinguishable from siblings because the DO NOT CONFUSE WITH section names three lookalikes (asterwise_get_gochar, asterwise_get_transits, asterwise_get_dasha) and states exactly what each one lacks relative to 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?
Provides explicit workflow guidance: BEFORE recommends asterwise_get_natal_chart and AFTER suggests asterwise_get_gochar, with a reason for each. The DO NOT CONFUSE WITH section gives exclusion criteria for three alternatives, and the INPUT CONTRACT explains the critical 'no date field — today is fixed' constraint an agent must know before calling.
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?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint, so the bar is lower. The description adds useful behavioral context: the default returns all sixteen vargas, chart_type selection overrides that, and there is a recommended D1 anchoring workflow. It stops short of detailing error behavior, but the linked full contract covers that, and the output schema exists.
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 followed by WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and a documentation link. Every section earns its place, though the INPUT CONTRACT sentence about local Pydantic enforcement is slightly redundant with schema information and could be trimmed 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 core purpose, the selection behavior, workflow prerequisites, sibling distinctions, and points to a full output/error contract. With an output schema present and a documentation link, an agent has enough to call the tool correctly. It doesn't describe return structure inline, but that gap is adequately covered by the output schema and linked 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%, so the schema already documents all parameters thoroughly. The description's chart_type notes ('pass chart_type for one varga, or omit for all sixteen') largely mirror the schema description and add little new semantic value. It does minimally reinforce the selection behavior, 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 uses a specific verb ('Computes') and resource ('divisional (varga) chart positions from BirthData'), immediately clarifies the single-chart vs all-sixteen behavior, and explicitly distinguishes the tool from sibling tools. An agent can tell this apart from asterwise_get_natal_chart and asterwise_get_chart_strength 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 a clear workflow hint (BEFORE: asterwise_get_natal_chart to anchor D1) and a dedicated 'DO NOT CONFUSE WITH' section naming two siblings with precise differentiators (radix chart vs full varga dictionary; strength metrics vs primary payload). 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_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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description adds value beyond that: it discloses the silent midnight/unknown-birth-time behavior, summarizes the return structure, and links the full error contract. Minor deduction: the midnight note is slightly ambiguous against the schema's 'never pass 00:00 for unknown' rule, but it does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose sentence is front-loaded, followed by clearly labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, docs link). Every section earns its place with distinct information, and the labeled format makes it fast for an agent to scan for the guidance it needs.
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?
Rich annotations plus an output schema already cover safety and return shape; the description fills the remaining gaps: workflow sequencing, unknown-birth-time handling, sibling disambiguation, and a pointer to the full output/error contract. Nothing needed 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 both parameters thoroughly. The description adds only marginal param-related context (the global BirthData contract reference and the silent midnight edge case). At the high-coverage baseline of 3, the description does not need to compensate further.
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 a specific verb ('Scores'), a precise resource ('twelve fixed dosha buckets'), and the output content (presence flags, typed detail objects, summaries, remedy lines). The 'DO NOT CONFUSE WITH' block explicitly differentiates it from asterwise_get_chart_strength (Shadbala/Vimshopaka metrics) and asterwise_get_compatibility (pair scoring with nadi_dosha), so an agent can distinguish it from near-neighbor 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 gives explicit sequencing guidance: run asterwise_get_natal_chart BEFORE and asterwise_get_remedies AFTER. The 'DO NOT CONFUSE WITH' section names alternatives and states why they are not the right choice (power metrics vs dosha booleans; pair scoring vs twelve natal buckets). This is the strongest form of 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_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 | 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 the safety profile is covered. The description adds useful behavior beyond annotations: case-insensitive lookup, the shape of the returned interpretation, and context variants. It does not spell out error cases, but the docs link supplies the error contract, so the gap is minor.
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 labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, docs) that each add value. No filler or repetition; the formatting makes the relevant contract information scannable for an 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?
For a simple read-only lookup with an output schema and strong annotations, the description covers the input contract, sibling differentiation, standalone workflow, and points to the full output/error documentation. Nothing critical is missing for an agent to select and 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's description for 'name' is factually wrong for this tool—it describes a person's numerology name. The main description compensates by giving a clear INPUT CONTRACT with proper semantics ('Symbol slug or display name') and concrete examples. This added meaning is essential because the schema alone would mislead the agent. response_format is adequately 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 opens with a specific verb and resource: 'Lookup a specific dream symbol by slug or name (case-insensitive).' It clearly distinguishes the singular lookup from the sibling listing tool via the 'DO NOT CONFUSE WITH' note, and states the return content (dual-tradition interpretation, Jungian archetype, Vedic meaning, etc.).
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 frames the tool as standalone with 'BEFORE: None' and 'AFTER: None'. It warns against confusion with asterwise_get_dream_symbols, describing that sibling as the full database listing, which tells an agent when not to use this tool. The INPUT CONTRACT with examples makes the intended usage unmistakable.
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?
Annotations already cover the read-only, idempotent, non-destructive nature of the tool. The description adds valuable behavioral context: it returns 500 symbols, spans 8 categories, offers dual-tradition interpretation, and supports optional filtering. It also points to a full output and error contract URL, going 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 well-structured with prominent sections for workflow, input contract, and disambiguation. It front-loads the primary purpose and keeps each section scannable. Minor repetition of 'omit for all 500 symbols' exists, but the overall structure is clean and each section serves a clear navigational 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 annotations cover the safety profile, the description provides everything an agent needs to invoke the tool correctly: what it returns, how to filter, how to proceed to the following detail tool, and where to find the error contract. No critical operational context 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, but the description adds concrete value by enumerating the exact allowed category values (animals, nature, people, places, objects, actions, body, abstract), which the schema itself does not fully list. The response_format parameter is adequately described in the schema, and the INPUT CONTRACT reinforces the optionality of the category 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 uses a specific verb ('Returns dream symbols from the database') and clearly defines the scope: dual-tradition interpretations, 500 symbols across 8 categories, and optional category filtering. It explicitly names the sibling tool asterwise_get_dream_symbol as the single-symbol detail counterpart, so an agent can distinguish between them.
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 this tool is standalone and that asterwise_get_dream_symbol should be used afterward for full detail on a specific symbol. The DO NOT CONFUSE WITH section explicitly differentiates this list tool from the singular detail tool, giving clear guidance on when to use which.
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 establish safety (read-only, idempotent, non-destructive); the description adds the non-obvious per-part reduction method and master-number preservation rule, which affect interpretability. It also links to a full 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?
Front-loaded with the core calculation, then organized into labeled WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH blocks. Each section adds actionable information without redundancy, and examples anchor the format.
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 schema, annotations, output schema, and the description's workflow/input/alternatives/error-contract link, an agent has everything needed to select and invoke the tool correctly. No critical dimension is left unexplained.
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 both parameters completely, but the description enriches the `name` parameter with legal-name-at-birth semantics, space separation requirement, case-insensitivity, and an alphabetic-character constraint. The response_format parameter is already fully documented 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 first sentence names the exact operation ('Calculates the Expression (Destiny) number'), the input ('full name'), and the method ('Pythagorean letter values'). It also explicitly distinguishes itself from sibling tools (soul urge, personality, numerology_profile, chaldean), so an agent can tell them apart 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 'DO NOT CONFUSE WITH' section explicitly lists when not to use each alternative, and WORKFLOW states this is a standalone step with a prescribed AFTER tool. This gives the agent unambiguous 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_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. Defaults to the current year when omitted. | |
| 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, idempotentHint, and destructiveHint false, and the description reinforces that this is a standalone read operation. It adds useful behavioral context beyond annotations: the fixed scope of 20 pan-Hindu festivals, the location-or-coordinates requirement, and a link to the full output/error contract. No contradiction with annotations exists.
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 scannable sections: purpose, workflow, input contract, and sibling exclusions. Every section carries useful information with no redundant prose, and the purpose is front-loaded before routing 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 large sibling list, the description provides enough routing via explicit alternatives and an upstream/downstream workflow. The presence of an output schema covers return values, while the external contract link fills error-handling details. Nothing required for a correct call 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 meaningful semantic grouping and constraints not fully captured in the schema, such as year range 1900-2100 and the requirement to provide either a location or latitude+longitude+timezone. It does not discuss response_format, but the schema already documents that parameter's 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 clear verb ('Computes') and resource ('all major Hindu festival dates'), and lists concrete examples such as Makar Sankranti, Diwali, and Holi. The DO NOT CONFUSE section explicitly separates it from asterwise_get_panchanga_calendar and asterwise_get_muhurta, making it easy to distinguish among 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?
WORKFLOW states BEFORE: None and AFTER: asterwise_get_panchanga for detail, giving an explicit usage path. INPUT CONTRACT and DO NOT CONFUSE identify when this tool is appropriate versus alternatives such as the monthly full Panchanga or muhurta windows. 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_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 establish a safe read-only profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), and the description adds meaningful context beyond them: the dependency on confirming the natal chart first, the composition of the output (primary, role-based, secondary, contraindications, safety note), and a pointer to the full output/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 appropriately dense but highly organized with labeled sections: main purpose is front-loaded, followed by WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and a documentation link. Every sentence earns its place; there is no filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists and the input schema covers 100% of parameters, the description supplies what an agent still needs: the tool's position in the workflow, sibling disambiguation, expected output categories, and an external link for the full output/error contract. Nothing essential 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?
Schema description coverage is 100%, so the schema fully documents the 'birth' object fields (date, lat, lon, time, ayanamsa, timezone, person_name) and response_format. The description's INPUT CONTRACT note ('BirthData follows the global contract') adds only marginal cross-tool consistency context, so the baseline of 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 ('Computes'), a clear resource ('Ratna-style gemstone picks and cautions from the natal chart'), and enumerates the returned content (primary/role-based stones, secondary options, contraindications, safety note). The DO NOT CONFUSE WITH section explicitly differentiates it from asterwise_get_remedies and asterwise_get_lal_kitab_remedies, so an agent can select it correctly among the large sibling list.
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 guidance: run asterwise_get_natal_chart first to confirm the chart before wearing advice, and consider asterwise_get_remedies afterward for a broader programme. The DO NOT CONFUSE WITH section names two alternatives and states what they offer instead, 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_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 useful behavioral context: Moon sign is computed from birth data, no external prerequisite is needed, and the output is static Ghatak parameters rather than a daily score. It also links to a full output and error contract, which further increases 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 short labeled sections: WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH. Each section contains only essential information, with no filler or redundancy. The front-loaded first sentence immediately communicates the tool's purpose, and the external docs link consolidates remaining details 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 covers the tool's purpose, input requirements, computation basis, workflow position, alternatives, and links to a full output/error contract. Combined with the rich input schema, annotations, and output schema, there is no missing critical information for an agent 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%, and every input property already has a detailed description including formats, defaults, ranges, and enums. The description's INPUT CONTRACT restates the birth fields but adds conceptual value by noting that Moon sign is computed from birth data. It does not add much parameter-level detail 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 opens with a specific verb and resource: 'Returns the four Ghatak (inauspicious) timing parameters.' It also names the exact input basis (Janma Rasi / natal Moon sign), so an agent can understand what the tool produces and on what it is computed. The DO NOT CONFUSE WITH section explicitly differentiates it from asterwise_get_nakshatra_prediction and asterwise_get_panchanga, making sibling confusion unlikely.
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 no prior tool is needed and recommends asterwise_get_nakshatra_prediction as a follow-up for daily auspiciousness. The DO NOT CONFUSE WITH section explicitly names two alternatives and explains why they are not this tool (daily Tarabala score vs static Ghatak parameters; panchanga elements vs Ghat Chakra lookup). This is 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_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 establish readOnlyHint, idempotentHint, and destructiveHint=false, so the description does not need to restate safety. It adds valuable behavioral context: target_date defaults to today, time='00:00' is accepted without unknown-time detection, and the output includes a roll-up summary. It also links to the full output/error contract, though it does not surface error semantics 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-organized with clear labeled sections: the one-line behavior summary, WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH. Every sentence contributes either selection guidance, invocation requirements, or output expectations — there is 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?
For a tool with nested birth parameters, optional dates, output-format options, and many sibling tools, the description covers preconditions, disambiguation, input defaults, output contents, and a link to the full contract. The presence of an output schema means return-value details do not need to be spelled out here.
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 all parameter meanings; baseline 3 applies. The description adds a little beyond the schema by noting the '00:00' handling nuance and pointing to the global BirthData contract, but it largely restates the target_date default 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 strong verb and resource: 'Computes Gochar against the natal Moon and Lagna'. It then enumerates the specific return contents — per-planet transit longitudes, houses, AVK scores, vedha flags, and a roll-up summary — making the tool's function unambiguous. The 'DO NOT CONFUSE WITH' section sharpens differentiation 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 recommends running asterwise_get_natal_chart first and asterwise_get_dasha_transits after, giving concrete sequencing guidance. The DO NOT CONFUSE WITH section states exactly why asterwise_get_transits and asterwise_get_dasha_transits are different, so an agent can route between them without guessing.
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 | Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the description's job is to add behavioral context — which it does: computation is bounded between successive sunrises, each hour is tagged, and a 'current' hour is identified. It also defers the full output/error contract to a docs URL. This meaningfully enriches what annotations provide 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 core purpose is front-loaded in one dense sentence, followed by clearly labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and a docs link. Every component earns its place — there is no filler or repetition of annotation data, and the labeled structure makes the content skimmable for an 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?
Given the nested LocationInput schema, an existing output schema, and a large sibling family, the description covers everything needed to call correctly: purpose, output characteristics, workflow position, input rules, disambiguation from the two most confusable siblings, and a reference to the full output/error contract. No material gap remains for an agent selecting or invoking 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?
Schema description coverage is 100%, so every parameter (date, lat, lon, timezone, response_format) is already documented in the schema. The INPUT CONTRACT line restates YYYY-MM-DD and bounded lat/lon, which adds little beyond schema constraints, though it usefully signals that a shared LocationInput contract applies. This meets the baseline for high schema coverage but adds no substantial new parameter meaning.
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 names a specific verb ('Builds'), a concrete resource ('the twenty-four planetary Horas between successive sunrises'), and the output shape (each hour tagged with ruler, quality text, and current status). The 'DO NOT CONFUSE WITH' section then explicitly separates it from asterwise_get_choghadiya and asterwise_get_natal_chart, so an agent can distinguish it from 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 description is unusually explicit: WORKFLOW states there is no prerequisite ('BEFORE: None') and names the natural follow-up (choghadiya), while 'DO NOT CONFUSE WITH' gives the disambiguating conditions — sixteen segments vs twenty-four Horas, and natal analysis vs hourly muhurta tables. An agent is told both when to use this tool and when not to.
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 declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds useful behavior beyond that: it is AI-synthesised rather than calculated, returns metadata about the model and period, and response_format only changes rendering between JSON and markdown. It also links the full output/error contract. This goes beyond the structured annotation coverage 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 well-structured with labelled sections, and the key purpose is front-loaded. It is slightly verbose because it repeats the period enum values already present in the schema, but each section earns its place by adding workflow, exclusion, or contract 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 relatively simple read-only tool with an output schema, full schema coverage, and strong annotations, the description is complete. It covers workflow, alternatives, parameter constraints, output-format behavior, and points to the full output/error 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%, but the description adds meaningful detail: it lists all accepted Sanskrit and English moon sign names, clarifies that response_format only affects rendering, and confirms period is bounded by the schema enum. This enriches the parameter meaning 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 uses a specific verb ('Fetches') and resource ('AI-synthesised Moon-sign horoscope'), and clearly states it returns structured guidance fields plus metadata. It also differentiates itself from siblings in the DO NOT CONFUSE WITH section, so an agent can tell it apart from natal chart and transit 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 states this tool is standalone with no BEFORE step, and the AFTER step recommends asterwise_get_natal_chart for personalised needs. The DO NOT CONFUSE WITH section names concrete alternatives and conditions, making when-to-use versus when-not-to-use explicit.
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 this as read-only, idempotent, and non-destructive. The description adds meaningful behavioral context beyond that: it explains the exact scan algorithm, provides a worked example showing how missing digits are derived, and links to a full output/error contract. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Though longer than minimal descriptions, it is tightly organized into WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and documentation link sections. The front-loaded first sentence gives the core purpose immediately, and each section earns its place by aiding correct tool selection and invocation.
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 2 parameters, an output schema, and a large sibling list, this description is complete: it explains the algorithm, gives an example, names related tools, provides workflow context, and points to a full contract. The output schema covers return structure, so the description does not need to restate 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%, so the baseline is 3. The description enhances the 'name' parameter meaningfully by defining it as the full legal name at birth and walking through a concrete letter-to-digit mapping. The response_format parameter is not amplified, but the schema already documents its enum and default clearly.
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: 'Identifies karmic lessons by scanning all letter values in the full name and finding which digits 1–9 are absent.' It also clearly distinguishes itself from balance number and expression number in the DO NOT CONFUSE WITH section, which is essential given the 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?
Usage context is explicit: BEFORE states no prerequisites and AFTER recommends asterwise_get_numerology_profile. The DO NOT CONFUSE WITH section gives concrete decision criteria by explaining that balance number uses only initials and expression number reduces to a single digit rather than scanning for absent digits.
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?
Beyond the read-only, idempotent annotations, the description discloses important behavioral caveats: mismatched ayanamsa settings still post upstream, and time='00:00' is accepted without warning. It also warns to cross-check the birth record before trusting sub-lords, adding trust context not available in structured fields.
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 labeled sections with no wasted words: purpose, workflow, input contract, exclusions, and docs link. The most important operational caveats are front-loaded, and each sentence adds either capability, routing, or risk 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?
Given the rich schema, annotations, output schema, and clear routing to sibling tools, the description leaves little ambiguity. The external link covers full output and error contracts without bloating 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 coverage is 100%, so the baseline is 3; the description adds real value by warning about the time='00:00' edge case and noting that ayanamsa settings are not enforced locally. It does not restate every parameter but meaningfully supplements the schema's own 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 states a specific verb and resource: it 'Builds a KP natal chart with sub-lords on grahas and twelve cusps'. It clearly differentiates itself from asterwise_get_natal_chart and asterwise_get_kp_ruling_planets by naming what each lacks or provides instead.
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 before/after guidance, and the DO NOT CONFUSE WITH section explicitly names the sibling tools and why they are not substitutes. This tells an agent when to select this tool and when to avoid the alternatives.
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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds important behavioral context beyond those annotations: the chart is instantaneous, 'now' is implicit on the server clock, no birth data is used, and the ruling_planets list is deduplicated. It also points to a full output/error contract, further increasing 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 and front-loaded: the core purpose is in the first sentence, followed by compact labeled sections for workflow, input contract, and disambiguation. Every section earns its place, and the documentation link is included without padding.
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 moderate-complexity tool with strong annotations, a complete input schema, and an output schema, the description covers what remains essential: standalone usage, follow-up tooling, the lack of a date parameter, the 'now' behavior, and links for full output/error details. An agent has enough context 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 value by explicitly narrowing the input contract to 'lat and lon only' and clarifying that no date parameter exists because 'now' is implicit on the server clock. This helps agents avoid inventing or supplying a date parameter, which the schema alone does not explicitly warn against.
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: 'Computes KP ruling planets for the instantaneous chart at lat/lon with no birth data' and lists concrete outputs (day lord, Moon/Ascendant lord chains, deduplicated ruling_planets list). It also explicitly distinguishes itself from asterwise_get_kp_chart and asterwise_get_prashna_chart, making sibling differentiation 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?
The WORKFLOW section states that the tool is standalone with no BEFORE step and names the AFTER tool (asterwise_get_kp_chart) for natal confirmation. The DO NOT CONFUSE WITH section explicitly names alternatives and explains why they should not be used instead, 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_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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful behavior beyond that: it states the output composition ('house tables plus planet-tier reverse indexes'), notes that values outside 1..12 are 'validated upstream only,' and links to the full output and error contract. This is strong context, though error specifics are deferred to the external docs.
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 WITH, and a docs link. The main sentence is front-loaded and efficient, and each section serves a purpose. Minor redundancy exists — the INPUT CONTRACT repeats house_number details already present in the schema — but it is 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 that the tool has a nested birth object, an output schema, and three parameters, the description covers the essentials: what it computes, the recommended upstream call, the optional house_number behavior, exclusions from similar tools, and a link to the full output/error contract. There is no obvious gap that would prevent an agent from invoking 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 schema already documents birth, house_number, and response_format thoroughly. The description's INPUT CONTRACT mostly restates the schema ('house_number optional int; omit for all twelve') with only a small extra note about upstream validation. Since the schema does the heavy lifting, 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 opens with a specific verb and resource: 'Computes KP significator chains for all houses or one optional house from BirthData and returns house tables plus planet-tier reverse indexes.' This clearly identifies what the tool does and its scope. The 'DO NOT CONFUSE WITH' section explicitly distinguishes it from asterwise_get_kp_chart and asterwise_get_natal_chart, 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 gives an explicit prerequisite: 'BEFORE: RECOMMENDED — asterwise_get_kp_chart — establish cusps before significators.' The 'DO NOT CONFUSE WITH' section names alternatives and explains why they differ — kp_chart covers 'cusps and sub-lords, not tiered significator unions,' and natal_chart uses 'classical drishti matrices.' This gives an agent clear routing and sequencing guidance.
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?
Annotations already cover read-only, idempotent, non-destructive behavior, so the bar for the description is lower. The description adds useful context beyond those annotations: Lal Kitab is a distinct system, the chart includes Rin debt flags, and there is a documented full output/error contract link. It does not add operational details like rate limits, but that is not a gap 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 compact and well organized with purposeful sections: WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH. Every sentence earns its place by either clarifying scope, routing to the correct alternative, or pointing to the contract documentation.
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 tool selection and invocation: it defines the output, identifies the relevant workflow, disambiguates from the closest siblings, and links to the full output/error contract. Since an output schema exists, the description does not need to duplicate return-value 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 description coverage is 100%, so the schema already documents every parameter including the nested birth object, timezone, ayanamsa, and response_format. The description only references the global BirthData input contract and does not add new parameter-level meaning, which fits the baseline-3 case.
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: it produces the Lal Kitab house/planet schema and Rin flags from BirthData. It also explicitly distinguishes Lal Kitab from standard Vedic computation, so an agent can tell it apart from related chart tools without inferring anything.
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 says it is standalone for Lal Kitab queries and names the AFTER tool for remedies. The DO NOT CONFUSE WITH section explicitly contrasts it with asterwise_get_natal_chart and asterwise_get_lal_kitab_remedies, 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_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 convey read-only, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond annotations: it filters by stressed planets, returns priority tiers and typed action rows, and strictly accepts BirthData only. This gives agents a clearer model of what the tool does without contradicting 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 compact and sectioned with WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH labels. Every sentence provides actionable information, and the main purpose is front-loaded in the first sentence.
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, input contract, sibling-tool differentiation, and links to the full output/error contract. With an output schema present and detailed parameter schemas, 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 description coverage is 100%, so the input schema already documents all parameters thoroughly. The description adds an input contract ('BirthData only') but does not meaningfully elaborate on individual parameters beyond what the schema provides, meriting the baseline score.
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 ('Lists') with a clear resource ('Lal Kitab style totkas') and source ('from BirthData'), and it specifies output characteristics (priority tiers, typed action rows). It also names sibling tools it should not be confused with, making differentiation explicit.
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_lal_kitab_chart before this tool, and the DO NOT CONFUSE WITH section names asterwise_get_remedies and asterwise_get_gemstone_recommendations as alternatives with clear distinctions. 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_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. 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 behavioral value by specifying what the tool computes and annotates, and by referencing the full output and error contract, which goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clearly labeled WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections. Every sentence carries operational value, and the primary purpose is front-loaded in the first sentence.
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, annotations, and only two parameters, the description is complete for selecting and invoking the tool. It covers purpose, workflow, input contract, sibling differentiation, and provides a link 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?
Schema description coverage is 100%, so the schema already fully documents date and response_format. The description adds minimal extra parameter meaning beyond saying the input contract is a date string and that it is validated upstream, which is useful but not a major supplement to 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: it derives a Lo Shu three-by-three frequency grid from birth-date digits and annotates planes, missing or repeated digits, and per-digit traits. It also explicitly distinguishes itself from related sibling tools, so an agent can differentiate it from asterwise_get_numerology_profile and asterwise_get_name_correction.
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/alternative guidance in the DO NOT CONFUSE WITH section, naming two siblings and explaining why they are not substitutes. It also adds workflow context stating the tool is standalone with no before/after dependencies, making selection conditions clear.
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. Defaults to today when omitted. | |
| 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 the safety profile is fully covered. The description adds useful behavioral context beyond annotations: the payload is 'condensed', results include a 'date_specific' flag, and inputs are 'forwarded upstream without local checks,' which warns the agent that validation may be deferred. It also points to a full error contract via documentation, adding transparency about failure 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 compact and effectively front-loaded: the opening sentence states the core function and output contents, followed by tightly scoped WORKFLOW, INPUT CONTRACT, and disambiguation sections. Every line adds decision-relevant information, with no filler or repetition of schema fields.
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 only two required parameters, an output schema, and strong annotations, the description is complete. It covers what the tool returns, when to use it, how it relates to siblings, what validation does not happen locally, and where to find the full output/error contract. Nothing essential for invoking the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions for name, date, and response_format already present. The tool description does not significantly deepen parameter understanding; it mostly restates that name and date are used. The baseline of 3 is appropriate because the schema already carries the semantic load.
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 ('Fetches') and resource ('condensed lucky-number guidance') and enumerates the returned content: primary/secondary picks, power number, interpretation, and date_specific flag. It also explicitly contrasts itself with asterwise_get_numerology_profile and asterwise_get_number_meaning, so an agent can distinguish it from closely related 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 says there is no prerequisite ('BEFORE: None — standalone') and identifies when a sibling should be used instead ('AFTER: asterwise_get_numerology_profile — if deeper context is required'). The 'DO NOT CONFUSE WITH' section further clarifies exclusion conditions against two sibling tools, 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_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. Defaults to today when omitted. | |
| 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 the tool read-only, idempotent, and non-destructive, so the bar is lower; the description adds value by disclosing the calculation method (sum and master-number reduction) and the interpretive meaning of the result. It also links to the full output and error contract. It does not contradict any annotation, though it could have clarified how borderline master-number cases are handled for extra 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 core computation is front-loaded in the first sentence, and the WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections make the content scannable. Some redundancy with the schema's parameter descriptions exists, but the examples and workflow notes justify most of 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?
For a deterministic read-only calculation with an output schema, the definition covers the formula, prerequisite workflow, alternatives, input contract, examples, and a link to the full output/error contract. No essential selection or invocation information is missing; return-value details are already supplied by the 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?
Schema description coverage is 100%, so the schema already documents all three parameters. The description adds useful semantic value by specifying name as 'Full legal name as used at birth', giving concrete examples, and framing date as the birth date in YYYY-MM-DD format. This goes slightly beyond the schema's own descriptions without being exhaustive about response_format, which the schema already covers.
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 Maturity number' — and gives the exact derivation: sum of Life Path and Expression numbers reduced to a single digit or master number. The 'DO NOT CONFUSE WITH' section explicitly separates it from asterwise_get_numerology_profile and asterwise_get_personal_cycles, so it is unambiguous among the 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 block states a concrete prerequisite and a terminal state: 'BEFORE: RECOMMENDED — asterwise_get_numerology_profile' and 'AFTER: None'. The DO NOT CONFUSE WITH block names the alternatives and the exact conditions for preferring them, which is exactly the kind of routing guidance an agent needs.
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 | Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone. | |
| 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 cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the bar for added value is met by disclosing that invalid activity slugs are NOT validated locally and surface as MCP INTERNAL_ERROR, and that date ordering/span rules are enforced upstream. These are genuinely useful non-obvious behaviors beyond what 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 efficiently sectioned (purpose, WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, docs link) with the core purpose front-loaded. Each section earns its place; the labeled headers make machine parsing easy. Slightly longer than minimal, but every sentence carries either a constraint, a routing decision, or an error-behavior disclosure.
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 domain tool with output schema present, nested location object, and ~100 siblings, the description covers purpose, workflow, input constraints, error behavior, sibling differentiation, and points to a full documentation contract. Minor gaps: the supported activity slugs are referenced but not enumerated, and the schema's location ambiguity (place-name vs. coordinates) is not fully reconciled in the description.
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 beyond the schema by warning that activity must be one of the supported English slugs (not locally validated) and that date ordering/span rules are enforced upstream. It also notes LocationInput validation reuse for lat/lon/date, which helps an agent understand cross-tool consistency.
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 verb ('Searches'), a precise resource ('date span for top-scoring muhurta windows'), and the distinguishing scope ('named activity', 'at a location', using Panchanga/Choghadiya/siddhi flags). The DO NOT CONFUSE WITH section explicitly names two siblings and explains why they differ, so an agent can discriminate without inspecting 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 declares this tool is standalone (BEFORE: None) and routes to asterwise_get_panchanga afterwards, while DO NOT CONFUSE WITH names asterwise_get_choghadiya (enumerates all windows, no activity scoring) and asterwise_get_panchanga (single-day detail, not ranked search) as alternatives. This is explicit when-to-use and when-not-to-use guidance with named alternatives.
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 readOnlyHint, idempotentHint, and non-destructive behavior. The description adds meaningful context beyond annotations: the data is static, nakshatra_name is forwarded raw with no fuzzy matching or normalization, and the return payload includes interpretive, professional, activity, and body-map reference data. A minor gap is that the error contract is only linked, not summarized.
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 the first sentence, and the remaining sections are compact and labeled. WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH all earn their place, and the documentation link prevents unnecessary duplication.
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 exists, annotations cover safety, and the schema fully covers parameters, the description provides everything else an agent needs: exact-match behavior, output categories, sibling disambiguation, and a link 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 schema already documents both parameters. The description adds value by clarifying that nakshatra_name is passed exactly as provided with no local normalization, which is important for a lookup tool. It doesn't need to explain response_format since the schema covered 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 opens with a specific verb and resource: 'Looks up static metadata for one of twenty-seven nakshatras by exact name' and lists the return categories. It also names the sibling tools it is not, making it easy for an agent to distinguish it from asterwise_get_natal_chart 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?
The 'DO NOT CONFUSE WITH' section explicitly tells the agent when not to use this tool and names concrete alternatives: natal chart computation and dasha timing. The workflow section confirms it is standalone with no prerequisites or follow-up actions.
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 declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context by stating the prediction is personalised and daily, that birth data computes everything needed, and by linking to a full 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 well-structured with WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections. Each section carries distinct value, the core purpose is front-loaded, and there is no redundant or filler 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?
Given the presence of a rich input schema, a full output schema, and annotations covering safety, the description provides the remaining needed context: workflow, exclusions, parameter defaults, and a link to the full output/error contract. Nothing necessary for correct tool selection or 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 baseline is 3. The description's INPUT CONTRACT restates birth and target_date at a high level but omits ayanamsa and person_name from the birth object, and does not mention response_format; the schema itself fully compensates for these details.
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+resource: 'Returns a personalised daily prediction using Tarabala and Chandrabala.' It also explicitly distinguishes this tool from asterwise_get_nakshatra_details, asterwise_get_panchanga, and asterwise_get_biorhythm, so an agent can clearly identify 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?
The WORKFLOW section states that no prerequisite tool is needed and recommends asterwise_get_panchanga afterward for full daily context. The 'DO NOT CONFUSE WITH' section names three sibling tools and explains exactly why they are not alternatives, giving the 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_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. Defaults to today when omitted. | |
| 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 establish the tool as read-only, idempotent, and non-destructive. The description adds meaningful behavioral context beyond that: it scores spelling against Life Path, returns alternate spellings with harmony metrics, echoes recommendation stub fields, and points to the full output/error contract. This is enough for an agent to predict the tool's behavior without over-relying on 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 labeled sections: main purpose, WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, and a docs link. Every section earns its place by giving an agent actionable selection and invocation information without 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?
The description covers the essential context: what the tool does, which tool to run before it, what inputs are valid, how it differs from close siblings, and where to find the full output/error contract. With an output schema present and only three parameters, this is a fully sufficient description for correct agent 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 input schema fully documents all three parameters: name, date, and response_format. The description only reinforces that name and date strings are expected and says upstream validates, adding little semantic value beyond the schema. Baseline 3 is appropriate because the schema carries the load.
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: it scores a personal name's spelling against the birth-date Life Path and suggests alternate spellings with harmony metrics. It also explicitly distinguishes itself from two relevant siblings (asterwise_get_business_name_analysis and asterwise_get_chaldean_numerology), so an agent can confidently separate it from similar numerology 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 recommends running asterwise_get_numerology_profile before this tool and states there is no AFTER step. The DO NOT CONFUSE WITH section explains what this tool is not and how the named siblings differ, giving the 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_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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description goes beyond this by disclosing that unknown birth time can be passed as '00:00' without error but that lagna-sensitive results become unreliable, and that the API does not flag this. It also links to the full output and error contract, adding meaningful 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 (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, docs link) and front-loads the core purpose. It is somewhat dense and repeats validation details already present in the schema, but for a complex tool with nested parameters, the organization earns 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 tool's complexity, the description covers what the tool returns, workflow sequencing, the closest sibling alternative, a critical input caveat, and a link to the full output/error contract. An agent has enough context to invoke it correctly, apart from the time='00:00' contradiction noted above.
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. However, the description's INPUT CONTRACT states 'Unknown birth time may be entered as time='00:00' without error', which directly contradicts the schema's explicit instruction to 'Omit if unknown' and 'never pass "00:00" for unknown'. This is actively misleading and likely to cause incorrect tool invocation despite the 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 opens with a specific verb and resource: 'Computes the full sidereal natal chart from BirthData' and enumerates the exact output components (planet rows, houses, aspects, arudhas, upapada, bhava cusps, avakhada metadata). It also explicitly distinguishes itself from asterwise_get_divisional_chart, so an agent can clearly separate this tool from its closest 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?
The WORKFLOW section states this tool is standalone before, and recommends asterwise_get_yogas after, giving sequencing guidance. The 'DO NOT CONFUSE WITH' section explicitly names asterwise_get_divisional_chart and explains the difference, satisfying the when-to-use vs alternative requirement.
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 readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds meaningful behavior beyond that: the local guard restricting number to 1 through 33 and raising MCP INVALID_PARAMS before the HTTP call, plus the disclosure that extended fields are stubbed. This is useful contextual 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 short labeled sections: workflow, input contract, disambiguation, and a link to the full contract. The main action is front-loaded, and each section earns its place. It is slightly verbose due to the workflow section, but the formatting keeps it 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?
For a simple read-only dictionary lookup, the description covers the lone required parameter, its validation boundaries, the high-level output shape, and points to a full output/error contract. An output schema exists, so detailed return values do not need to be repeated. The description is complete enough 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 both parameters well. The description adds value by clarifying the input contract for number: inclusive range 1-33 and a pre-HTTP validation guard. It also hints at the dictionary-style output, while response_format is fully covered by the enum/default 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 ('Returns dictionary-style numerology copy') and resource ('for a single integer'), and names the included content: interpretation, keywords, and stubbed extended fields. It also explicitly distinguishes itself from two sibling tools, so an agent can tell it apart 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 DO NOT CONFUSE WITH section explicitly names asterwise_get_numerology_profile and asterwise_get_lucky_numbers, and explains why they are different: the former computes personal numbers from name/date, the latter returns a personalised lucky list rather than reference meanings. It also states the tool is standalone with no BEFORE/AFTER workflow, giving clear context for when to invoke it.
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 declare readOnlyHint=true and idempotentHint=true, so safety is covered. The description adds meaningful behavioral context beyond annotations: the input contract warns that four strings are 'passed through without local guards,' and it enumerates the output components. These details help predict behavior 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 well-structured with clear sections: a dense main sentence, a concise workflow note, an input contract warning, explicit sibling disambiguation, and a documentation link. Every section serves a distinct purpose and there is no redundant 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?
Given the rich output schema, full parameter coverage in the schema, and annotations that establish read-only/idempotent behavior, the description is complete. It adds the workflow prerequisite, the no-local-guards warning, sibling exclusions, and a pointer to the full output/error contract. An agent has everything needed to 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 schema fully documents all five parameters including date format, name meaning, and response_format enum. The description adds little parameter-level meaning beyond noting that the four strings are passed through unguarded, which is a behavioral caveat rather than a semantic clarification. 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 precise verb and resource: 'Compares two people on Pythagorean Life Path numbers derived from their names and birth dates' and lists the exact return elements. It also explicitly distinguishes itself from asterwise_get_compatibility and asterwise_get_numerology_profile, so an agent can confidently separate it from close 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 recommends calling asterwise_get_numerology_profile per person beforehand for sanity-checking Life Paths. The DO NOT CONFUSE WITH section names two alternatives and the exact reasons they differ, giving clear when-to-use and when-not-to-use guidance. This is exemplary 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_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. Defaults to today when omitted. | |
| 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, closed-world behavior. The description adds useful behavioral context beyond that: name and date strings are forwarded without extra local validation, malformed payloads fail upstream, and the tool is standalone with no prerequisites. A link to the full output and error contract further reduces ambiguity.
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 first sentence states the essence, followed by compact labeled sections for workflow, input contract, and sibling differentiation. Every section adds actionable information, and the documentation link provides a natural extension point 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?
For a tool with an output schema and rich annotations, the description covers all necessary context: what it produces, how inputs are validated, how it fits in a workflow, which related tools are not to be confused with it, and where to find the full output/error contract. An agent has enough information to invoke it correctly and avoid common routing mistakes.
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 stating that name and date strings are forwarded without local validation and that malformed payloads fail upstream, which clarifies how the parameters are handled. It also refers to a 'legal name' and 'birth date' in the purpose sentence, reinforcing the semantic intent of the name and date parameters. The only minor friction is the schema's required date field conflicting with the date's 'defaults to today when omitted' note, but that is an internal schema inconsistency rather than a description gap.
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: 'Builds a Pythagorean numerology profile from a legal name and birth date' and names the exact outputs: core numbers, cycles, lucky digits, and summary copy. The DO NOT CONFUSE WITH section explicitly distinguishes it from chaldean numerology and lucky numbers, so it is clearly differentiated 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 gives explicit routing guidance: it names asterwise_get_chaldean_numerology and asterwise_get_lucky_numbers as alternatives, explains what those tools do differently, and tells the agent not to confuse them with this tool. It also provides workflow sequencing: this tool is standalone before, and asterwise_get_personal_year should be called after when Personal Year 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_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 | Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive; the description adds complementary behavioral detail: UTC output, local validation of lat/lon bounds, an upstream 1900–2100 date restriction, and default timezone behavior. No contradiction with annotations is 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 core purpose is front-loaded, and the remaining content is organized into compact WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections with no filler. The documentation link sensibly replaces a long inline output/error explanation.
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 and annotations, the description is nearly complete: it covers workflow, disambiguation, input constraints, and where to find the full contract. The only slight gap is that it doesn't explicitly disambiguate the schema's misleading 'Place name' phrasing for the location object, though the required lat/lon/date fields make it recoverable.
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 documents all fields with full coverage, so the baseline is met. The description adds the upstream date-range restriction, local validation behavior, and clarifies the default timezone. It doesn't directly resolve the schema's odd 'Place name' note on location, but the INPUT CONTRACT makes the coordinate-based contract clear enough.
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 names the operation ('Computes Panchanga elements'), the unit ('one calendar date'), the scope ('at a geographic location'), and the returned quantities (tithi, vara, nakshatra, yoga, karana, end times). This is enough for an agent to know exactly what the tool does and to distinguish it from calendrical or natal-chart 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 states the tool is standalone and explicitly recommends asterwise_get_choghadiya as a same-day follow-up. The DO NOT CONFUSE WITH block names two alternatives and the exact distinction (natal yogas vs whole-month calendar), so an agent receives both 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_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?
Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds complementary behavioral detail: local validation of year/month/lat/lon, timezone handling tied to upstream data.timezone, and a link to the full output/error contract. It does not overpromise but leaves detailed error behavior to the linked 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 tight and front-loaded with the core behavior, then uses labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that are scannable. Every sentence contributes either selection, invocation, or behavioral context with 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?
Given an output schema exists and annotations cover the safety profile, the description provides everything needed to invoke and disambiguate: input contract, timezone behavior, sibling distinctions, and an error-contract link. No material gap remains for correct selection or call construction.
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 fully constrains year/month/lat/lon with ranges and response_format with an enum, so the baseline is 3. The description adds value by stating inputs are validated locally and that timezone semantics follow upstream response fields, clarifying how location parameters affect results.
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 and resource: 'Returns one row per civil day for a calendar month at a location...' and enumerates the exact columns. It explicitly differentiates from asterwise_get_panchanga and asterwise_get_muhurta, so an agent can disambiguate at a glance.
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 a WORKFLOW section ('BEFORE: None — standalone', 'AFTER: asterwise_get_panchanga') and a DO NOT CONFUSE WITH block naming alternatives and their different purposes. 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_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, so the safety profile is covered. The description adds useful non-obvious behavior: it is pairwise, computes from three reference points, compares totals, and applies a threshold to derive a compatibility label.
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 delivers the core function, and the WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections are compact and high-signal. The documentation link covers edge-case details 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?
Given fully described nested parameters, a present output schema, and read-only/idempotent annotations, the description covers what matters: the operation's purpose, the recommended sequencing, sibling distinctions, and an external contract reference. Nothing essential 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%, including detailed nested BirthData properties, so the schema carries the parameter documentation burden. The description only restates the two-BirthData input contract, which adds no new meaning beyond the required person1/person2 fields.
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 computational verb and resource: measures malefic stress from Lagna, Moon, and Venus references for each partner, compares totals, and labels compatibility. This clearly distinguishes it from the many single-chart sibling tools and from compatibility 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?
Provides explicit workflow guidance: run asterwise_get_compatibility before this tool to establish baseline match quality. Also names two siblings it should not be confused with and explains the distinction in terms of scope (pairwise malefic balance vs. Guna Milan totals or 12 natal dosha buckets).
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. Defaults to today when omitted. | |
| 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 read-only, idempotent, and non-destructive behavior; the description adds conditional output behavior (Personal Day only returned when 'day' is provided), default handling for year/month, and the derivation basis. No contradiction with annotations, but the prose conflicts with the schema's 'day' field description ('Defaults to today when omitted' vs description's 'Defaults to null'), preventing a perfect 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 long but well-organized with clear section headers, a front-loaded summary, and compact example lines. It is somewhat repetitive of the schema, which keeps it from a 5, but every section earns its place by aiding selection or invocation.
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 five-parameter tool with an existing output schema, the description covers the full invocation picture: output values, defaults, conditional behavior, sibling disambiguation, workflow ordering, and a link to the full output/error contract. No significant missing information prevents an agent from calling 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%, so the baseline is 3, but the description's INPUT CONTRACT adds per-parameter examples and semantic consequences, such as omitting 'day' suppressing the Personal Day. It clarifies defaults and constraints beyond the schema's boilerplate, though 'response_format' is absent from the 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 first sentence names the exact resource (Personal Year, Personal Month, Personal Day numbers) and the action (returns), and states the input basis. The 'DO NOT CONFUSE WITH' section explicitly differentiates it from asterwise_get_personal_year and asterwise_get_numerology_profile, so an agent can tell them apart 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 block states there is no prerequisite and suggests following with asterwise_get_numerology_profile for broader context. The 'DO NOT CONFUSE WITH' section explicitly names alternatives and the conditions that select them (Personal Year only vs core name numbers with null personal_year), giving direct 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?
Beyond the annotations, the description reveals important behavioral details: Y is always treated as a consonant, each name part is reduced separately, and master numbers 11, 22, and 33 are preserved. It also points to a full output and error contract URL, giving the agent a clear path to deeper behavioral specifics.
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 calculation logic. Minor redundancy exists because the 'Y is always a consonant' rule appears twice, but each section otherwise 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?
Given the output schema exists and annotations already declare the operation safe, read-only, and idempotent, the description covers the remaining essentials: input format, calculation rules, master-number handling, sibling differentiation, and a link to full documentation. Nothing essential 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 coverage is 100%, so the baseline is 3. The description adds meaningful value on top by defining the input as 'Full legal name as used at birth' and providing examples like 'Arjun Mehta' and 'Sofia Rossi.' This clarifies the expected format more precisely than the schema's generic 'full name as commonly written' phrasing.
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 distinguishes itself from sibling tools by explicitly contrasting with asterwise_get_expression_number and asterwise_get_soul_urge_number, making the tool's unique 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 WORKFLOW section explicitly states the tool is standalone and suggests asterwise_get_numerology_profile as a follow-up for 'all five core numbers together.' The 'DO NOT CONFUSE WITH' block gives concrete alternatives and the exact letter-set differences, so an agent knows precisely when this tool is appropriate 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_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. Defaults to today when omitted. | |
| 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 readOnly, idempotent, non-destructive behavior. The description adds valuable context: the active calendar year is selected upstream automatically, only month and day are used server-side, and the endpoint supplies the annual theme. This goes beyond the annotations and clarifies important runtime 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 clear labels for workflow, input contract, disambiguation, and documentation link. The key purpose sentence is front-loaded, and every labeled section adds useful guidance without unnecessary 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 lookup tool with output schema present and full annotation coverage, the description is complete. It covers prerequisites, when to use versus not use, the input contract, and points to a full output/error contract. An agent has enough 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?
Schema coverage is 100%, so the schema already documents all three parameters. The description adds meaning beyond the schema by clarifying that the year portion of the date is not used client-side and that the calendar year is chosen upstream automatically, which explains why date defaults to today and why the date format matters.
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 the Personal Year theme' from a name and birth date. Explicitly differentiates from asterwise_get_numerology_profile and asterwise_get_varshaphal, so the agent can distinguish it from close 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 an explicit WORKFLOW section recommending asterwise_get_numerology_profile beforehand and an AFTER: None section. The 'DO NOT CONFUSE WITH' block names alternatives and explains when this endpoint is the correct choice, e.g., the personal_year field in the profile endpoint is null, and Varshaphal is Vedic rather than Pythagorean.
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, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: the fact that birth data computes everything needed, the recommendation workflow into puja suggestions, and a link to the full output/error contract. It doesn't enumerate edge cases, but this exceeds baseline given the annotated safety guarantees.
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 into labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, docs link) with zero filler. Each sentence contributes distinct value: purpose, sequencing, sibling differentiation, and a pointer to the full contract. It is compact despite conveying a lot of 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?
With an output schema present, return values don't need to be spelled out in the description. The description covers the essential agent-facing context: what the tool computes, that there are no prerequisites, the recommended follow-up tool, how it differs from a sibling, and where to find full output/error details. 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 input schema already documents every parameter meaning, format, defaults, and constraints. The description's INPUT CONTRACT merely restates the birth fields already present in the schema without adding new semantic detail. Baseline 3 is appropriate when the schema carries the full parameter documentation 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?
States a specific action ('Detects and analyses Pitru Dosha (Pitru Shapa — Ancestral Curse)') against a clear resource, and names the exact classical combinations used. The DO NOT CONFUSE WITH section explicitly differentiates it from asterwise_get_doshas, so an agent can identify its unique role 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?
The description gives explicit when-to-use guidance: 'Use this tool when dedicated Pitru Dosha analysis is needed,' and names the alternative (asterwise_get_doshas) with the reason to choose it instead. It also provides workflow context with BEFORE (none) and AFTER (asterwise_get_puja_suggestions) steps, leaving no inference required.
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 beyond that: the tool is a standalone reference, supports omitting the planet for all nine, and provides an output/error handling contract 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 well-organized under clear headings (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and front-loads the core purpose in the first sentence. Every section earns its place, and the formatting makes it easy for an agent to scan and extract the important constraints.
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 present, the description does not need to explain return values. It covers optional behavior, format selection, workflow dependencies, sibling distinctions, and points to a full contract link, making the tool adequately specified 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 baseline is 3. The description adds meaningful value by enumerating valid planet values, clarifying that omitting the planet returns all nine, and reinforcing the response_format behavior in the INPUT CONTRACT.
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 classical graha (planet) properties for all nine planets or a single planet per classical Vedic tradition.' It also explicitly distinguishes itself from asterwise_get_puja_suggestions and asterwise_get_rudraksha in the 'DO NOT CONFUSE WITH' section, making it easy to differentiate 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 states there is no prerequisite and names the logical next step (asterwise_get_puja_suggestions) for propitiation. The 'DO NOT CONFUSE WITH' section explicitly calls out alternatives and clarifies that they serve different purposes, giving the 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_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?
Beyond the readOnly/idempotent annotations, the description discloses what the tool computes and returns: pass counts out of ten, Rajju/Vedha booleans, and per-porutham evidence objects. It also points to a full output and error contract URL, giving the agent a path to complete behavioral detail. 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 organized into labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that each add distinct value. Every sentence earns its place without redundantly restating 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 tool's complexity, rich schema, output schema, and a very large sibling list, the description is unusually complete. It covers prerequisites, follow-up tools, related-tool distinctions, input contract, and links to full documentation. Nothing essential is missing 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 schema fully documents person1, person2, and response_format. The description adds only 'Two BirthData objects per global contract,' which references a global contract but does not materially improve on 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 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.' This precisely states what the tool does and is immediately distinguishable from related siblings, reinforced by the explicit '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 gives explicit BEFORE/AFTER guidance (recommending asterwise_get_natal_chart first and asterwise_get_thirumana_porutham for extended reads), and the DO NOT CONFUSE WITH section names two alternatives with their differences. An agent knows exactly when to select 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_prashna_chartPrashna ChartARead-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?
Annotations already mark the tool as read-only, idempotent, and non-destructive, and the description adds valuable behavior beyond that: it discloses that full-sentence inputs are rejected upstream and surface as MCP INTERNAL_ERROR at the tool layer. It also clarifies that PrashnaInput locally enforces date/time/lat/lon/ayanamsa patterns and points to the full error contract, giving agents a realistic model of failure 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 structured with clear, purposeful sections: summary, workflow, input contract, and sibling disambiguation. Each sentence carries operational value, and the most important scoping and validation details are front-loaded before the disambiguation notes and documentation link.
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 nested input object, a required enumerated question set, multiple validation patterns, and an output schema available, the description covers the full calling contract: what to pass, what values are allowed, what validation happens where, what will be returned, and where to find the full error 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?
Although the schema documents patterns, ranges, and enums, it only defines 'question' as a minLength-1 string. The description adds the critical semantic constraint that question must be exactly one of the listed topics, and warns that full sentences are not validated locally. This materially changes how an agent should construct the call and compensates for the schema's weak question typing.
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: 'Casts a Prashna chart for the query instant using supplied date, time, place, and a single-topic keyword', and names the concrete outputs: houses, Moon diagnostics, verdict, and cusps. It clearly differentiates from sibling tools by naming asterwise_get_natal_chart and asterwise_get_kp_chart and explaining what each alternative requires.
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 identifies when not to use this tool and what alternatives to choose instead, contrasting query-moment prashna with birth-data-based natal charts. The 'WORKFLOW' section confirms this is standalone for horary with no prerequisites or follow-ups, leaving no ambiguity about invocation 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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds workflow context and a link to the output/error contract, but does not itself disclose additional runtime behaviors such as error cases, rate limits, or response structure beyond what the output schema and link 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 a clear summary sentence and then uses labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, link) that each carry distinct value. It is longer than one sentence, but every section earns its place given the large sibling tool list and the need for 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?
With an output schema present and annotations covering the read-only and idempotent behavior, the description provides the remaining essential context: workflow ordering, parameter contract, sibling differentiation, and a link to the full output/error contract. Nothing an agent needs to 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?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful value beyond the schema by enumerating the exact nine planet values and explaining that omitting the planet parameter returns all nine planets, which clarifies the default behavior beyond the schema's default:null.
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 puja (ritual worship) recommendations for planetary propitiation per graha.' It also distinguishes itself from sibling tools in 'DO NOT CONFUSE WITH', naming asterwise_get_remedies and asterwise_get_rudraksha, so an agent can tell 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?
The WORKFLOW section explicitly places this tool after asterwise_get_natal_chart and before asterwise_get_rudraksha, giving clear sequencing. The DO NOT CONFUSE WITH section names the nearest alternatives and their different purposes, so an agent knows when not to choose 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_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 | Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone. |
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 meaningful behavior: it is standalone, computes from diurnal length, validates date pattern and coordinates locally, and includes a link to the full output and error contract. It does not fully clarify edge cases such as non-current dates for the 'active now' behavior, but the annotations lower the burden.
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 capability is front-loaded in a single sentence, followed by clearly labeled sections for workflow, input contract, disambiguation, and documentation link. There is slight redundancy because asterwise_get_choghadiya appears in both AFTER and DO NOT CONFUSE WITH, but each mention serves a different routing 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?
For a read-only astrological time-interval tool with annotations and an output schema, the description covers outputs, workflow placement, sibling exclusions, input validation behavior, and points to the full contract. It is not a 5 because the 'active now' wording is ambiguous for non-current dates and the schema's location description is misleading about required fields.
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 even though the tool description adds little parameter-level detail. The tool description only notes that LocationInput validates date pattern and coordinates locally. The schema's own location.description is confusing because it suggests a place name is an alternative despite lat/lon being required, so no extra credit is warranted.
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: 'Computes Rahu Kaal, Gulika Kaal, and Yamaganda Kaal intervals' and adds that it 'marks whether Rahu Kaal is active now in local time.' It also explicitly distinguishes itself from asterwise_get_choghadiya and asterwise_get_panchanga, so an agent can tell it apart without inspecting 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 BEFORE: None and AFTER: asterwise_get_choghadiya, giving clear placement in a sequence. The DO NOT CONFUSE WITH section names the two closest siblings and explains what they cover, making when-to-use and when-not-to-use explicit.
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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description adds meaningful behavioral context by explaining the derivation basis (planetary weakness and dusthana lordship) and the output shape (tables), plus a workflow dependency on prior chart context. 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 core purpose is front-loaded in a single sentence, followed by compact, scannable sections for workflow, disambiguation, and documentation. Each section earns its place by helping an agent decide when and how to invoke the 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 covers the derivation logic, output tables, recommended workflow, sibling-tool differences, and provides a link to the full output and error contract. Combined with the rich input schema, output schema, and annotations, 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 description coverage is 100%, so every parameter including defaults, enums, and format constraints is already documented. The description adds no parameter-specific semantics beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: it 'derives classical remedial prescriptions from planetary weakness and dusthana lordship' and explicitly lists the returned tables (mantra, lifestyle, charity, dignity). It also names siblings it is not, so an agent can distinguish it from asterwise_get_lal_kitab_remedies and asterwise_get_gemstone_recommendations 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 recommends calling asterwise_get_natal_chart before this tool and asterwise_get_gemstone_recommendations after it. The DO NOT CONFUSE WITH section names the two closest siblings and explains the exact difference in scope, giving the 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_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 read-only, idempotent, and non-destructive behavior. The description adds valuable context beyond annotations by enumerating the valid planet values, explaining that omitting planet returns all nine, and pointing to the full 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 tightly structured with labeled sections: summary, workflow, input contract, and disambiguation. Every sentence adds practical value, and the entire contract is 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?
With only two optional parameters, 100% schema coverage, full annotations, and an output schema present, the description covers all necessary guidance. It also provides workflow placement, disambiguation from siblings, and a link to the full contract, leaving no significant gap.
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 enriches the planet parameter by listing the exact nine valid values and the behavior of omission. It complements the schema's generic examples without repeating the schema verbatim.
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,' which clearly defines the tool's purpose. It also distinguishes itself from gemstone recommendations and puja suggestions, so an agent can identify it 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?
The WORKFLOW section explicitly instructs to call asterwise_get_natal_chart first to identify planets needing support, giving clear before/after context. The DO NOT CONFUSE WITH section names the most similar alternatives and explains the difference, 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_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 provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral detail: only A, E, I, O, U are vowels, Y is always a consonant, each name part is reduced separately before summing, and master numbers 11, 22, 33 are preserved. It also links to the full output/error contract, though it does not describe error cases 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-organized with WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections, and it front-loads the core calculation rule. However, the Y-is-a-consonant statement appears twice (in the opening paragraph and again in the input contract), which is unnecessary repetition and slightly reduces 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?
For a read-only, idempotent calculation tool with an output schema, this description is complete: it provides the algorithm, input contract with examples, sibling distinctions, workflow context, and a link to full output/error details. An agent has everything needed to select and invoke the tool correctly without additional lookup.
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 through the INPUT CONTRACT: name should be the full legal name as used at birth, with concrete examples and an explicit rule that Y is never treated as a vowel. This exceeds the schema's generic 'full name as commonly written' description, though response_format semantics remain fully handled by the schema 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 and resource: 'Calculates the Soul Urge (Heart's Desire) number from vowels in the full name.' It also differentiates from siblings by explicitly contrasting vowel-only versus all letters or consonants-only calculations, so the agent can distinguish it from asterwise_get_expression_number and asterwise_get_personality_number.
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 an AFTER step to complete the name number trinity. The 'DO NOT CONFUSE WITH' block explicitly names the alternative tools and the exact letter-selection rule that distinguishes them, giving 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_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?
Beyond the readOnly, idempotent, and non-destructive annotations, the description discloses meaningful behavior: two upstream endpoints are called sequentially, their payloads are merged into a wrapper with top-level atmakaraka and ishta_devata keys, and the response is not a flat data.* root. It also warns consumers to read nested .data fields inside each branch and links 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 front-loaded with the core mechanism in the opening sentence, then organized into clear WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections. Every section earns its place, and the documentation link is placed at the end rather than interrupting the primary 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 nested birth schema, output schema, and rich annotations, the description still adds essential runtime context: sequential endpoint calls, the wrapper shape, nested data access requirements, workflow ordering, sibling distinctions, and a link to the full output/error contract. Nothing an agent needs to call or interpret 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%, so the schema already fully documents both parameters, including nested birth fields and response_format. The description adds no parameter-level detail beyond indicating the tool operates on 'one BirthData,' which is marginal; the baseline of 3 is appropriate because the schema carries the semantic load.
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 is specific: it states the tool calls atmakaraka and ishta-devata endpoints sequentially and merges their payloads into top-level atmakaraka and ishta_devata objects for a single BirthData. The 'DO NOT CONFUSE WITH' section explicitly contrasts it with asterwise_get_natal_chart and asterwise_get_char_dasha, 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 gives explicit before/after guidance, recommending asterwise_get_natal_chart before this tool 'to understand chart basics before devotional pointers.' The DO NOT CONFUSE WITH section explicitly rules out asterwise_get_natal_chart as a general-chart alternative and asterwise_get_char_dasha as a timing-system alternative, giving clear 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_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 establish that the tool is read-only, idempotent, and non-destructive, so the description does not need to reassert safety. It adds useful behavioral context beyond annotations by specifying the exact output content, the basis for the Tamil month (Sun's sidereal sign at sunrise), and a link to the full 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 organized into labeled sections, front-loads the core behavioral summary, and every sentence earns its place by either defining the output, giving workflow context, encoding input rules, or preventing confusion with siblings. The text is longer than average but justified by the crowded sibling space and the need to 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?
Given the rich input schema, output schema, and annotations, the description covers all critical call-time decisions: what data is returned, what inputs are required, how location alternatives work, what the tool is not, and where to find the formal output/error contract. Nothing needed 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 coverage is 100%, so the schema already documents all six parameters. The description adds value by imposing an important combinatorial constraint not visible in the schema: date must be YYYY-MM-DD and either 'location' OR latitude + longitude + timezone must be provided. This goes beyond the optional-parameter defaults 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 plus resource: 'Returns Tamil-specific Panchanga for a date and location,' then enumerates the exact periods and outputs. It also explicitly distinguishes itself from sibling tools, so an agent can immediately understand what this tool uniquely provides.
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 says it is standalone and lists a logical AFTER candidate, asterwise_get_panchanga, for the full Vedic five-limb panchanga. The DO NOT CONFUSE WITH section explicitly contrasts it with asterwise_get_rahu_kaal and asterwise_get_panchanga, giving clear selection criteria. The input contract also states when location versus coordinates are needed.
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 establish read-only, idempotent, non-destructive behavior. The description adds useful behavioral context: card_id 'Must be exact,' the input contract is standalone, and it provides a link to the 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 longer than average but well-structured with clear sections: purpose, use cases, workflow, input contract, and disambiguation. The example list is large but earned given the exact-match requirement. No sentence is wasted, though it could be slightly tightened.
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-card lookup, the description is complete: it specifies the required input, gives examples and patterns, distinguishes it from related tools, documents the response format parameter, and links to an authoritative contract. The output schema is also present, so return values do not need to be spelled out in prose.
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 value beyond the schema by giving the full set of Major Arcana slug examples, a pattern for Minor Arcana slugs, and explicit guidance that card_id must be exact. This materially helps an agent pick valid 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?
States a specific verb and resource: 'Returns full structured data for a single card identified by its slug ID.' It clearly differentiates from siblings in the DO NOT CONFUSE section, naming asterwise_get_tarot_cards and asterwise_draw_tarot_cards explicitly.
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 explicit use cases: card detail pages, single-card lookups, and post-selection display. The DO NOT CONFUSE section names the exact alternatives and when they are not appropriate, such as retrieving all 78 cards or performing a random draw.
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 annotations (readOnlyHint, idempotentHint), the description discloses the determinism mechanism (SHA-256 of date), shared collective energy across callers, and the exact reversed-state seeding behavior (date+'_rev'). This adds meaningful behavioral context such as the intentional same-result-for-all design and the distinction from individual readings.
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 (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, documentation link) earns its place and is clearly formatted. The core behavior is front-loaded in the first sentence. Slight redundancy around defaults exists, but overall structure aids scanning.
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 a full output schema and detailed annotations, the description covers all essential aspects: input contract, determinism, reversed behavior, workflow suggestions, and exclusions. The external link for full output/error contract addresses remaining edge cases. Nothing an agent needs to decide 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 coverage is 100%, but the description adds substantial value: it gives a concrete date format example ('2026-05-01'), clarifies the default of 'today', explains the deterministic reversed state seeded by date+'_rev', and states that when false the card is always upright. This goes well beyond the schema's brief 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 first sentence states a specific verb and resource: 'Returns a deterministic daily tarot card seeded by SHA-256 hash of the date string.' It clearly distinguishes from siblings in the 'DO NOT CONFUSE WITH' section, naming asterwise_draw_tarot_cards and asterwise_get_tarot_three_card_spread with explicit differences.
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 workflow context ('AFTER: asterwise_get_tarot_three_card_spread — for deeper daily reading context') and a dedicated 'DO NOT CONFUSE WITH' section that explains when not to use this tool. It clearly contrasts deterministic daily card with random draw and three-card spread, making usage conditions unambiguous.
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 — Required: markdown | json (same as all Asterwise tools). 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 provide readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: it clarifies that there are no prerequisites, that the endpoint is a standalone catalogue, and that no parameters beyond response_format exist. This goes beyond the baseline and gives the agent a clear mental model of the operation.
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 action and then reorganized into labeled sections, which makes it easy for an agent to scan. It is longer than minimal, but the extra detail about workflow, disambiguation, and the docs URL is useful. A few phrases, such as 'BEFORE: None' and 'No other parameters,' are somewhat redundant with the schema, preventing 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 simple catalogue endpoint with one optional parameter, the description covers everything an agent needs: the complete return content, the only parameter, workflow placement, disambiguation from related tools, and a link to full documentation. The output schema exists, so the detailed field enumeration is a bonus rather than a required replacement.
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 schema already fully documents response_format with its enum and default. The description's 'INPUT CONTRACT' section largely restates the schema, though it does add the cross-tool convention that markdown/json are the standard formats and confirms no other parameters exist.
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 the complete 78-card Rider-Waite-Smith deck with full metadata,' and enumerates exactly what fields are included. It also explicitly distinguishes itself from sibling tools (major arcana, suit, random draw) in the DO NOT CONFUSE WITH section, so an agent can identify this 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 that no prerequisites exist (BEFORE: None) and that the output should be used to enrich display layers for draw/spread tools. The DO NOT CONFUSE WITH section explicitly names alternatives and the conditions under which those should be chosen, making it clear when to use this tool versus a sibling.
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?
The annotations already mark the tool as read-only and non-destructive, so the description does not need to repeat that. It adds valuable behavioral detail beyond the annotations: draws exactly 10 unique cards, uses cryptographic randomness, and applies an independent 50% reversal chance per card. This gives the agent a clear model of the tool's nondeterministic and random 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 clear sections: the core purpose is front-loaded, followed by workflow, input contract, disambiguation, and an error contract link. Every sentence earns its place, and the layout makes the information scannable for an 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 is complete for a tool of this complexity: it explains the spread structure, the role of each parameter, the relationship to relevant sibling tools, and points to a full contract for output and error details. The output schema covers the return shape, so nothing essential is missing from the agent's decision-making 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 solid. The description adds meaningful detail for allow_reversed by specifying the 50% per-card reversal chance and for question by providing a concrete example and the 500-character limit. This is useful context beyond the schema's basic property 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, unambiguous statement: a ten-card Celtic Cross spread drawn with cryptographic randomness and assigned to the 10 classical positions. This clearly distinguishes it from generic tarot draws and other spread tools without needing to inspect 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 explicitly states when to use this tool standalone and when to prefer asterwise_get_tarot_three_card_spread for more detailed examination. The DO NOT CONFUSE WITH section names three sibling tools and explains the exact conditions under which each alternative should be used instead. This is exemplary 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 — Required: markdown | 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 well covered. The description adds useful behavioral context beyond those annotations: it specifies the return shape ('structured array'), the exact card range, and the conceptual meaning of the Major Arcana. It also references a full output and error contract URL, adding further transparency. 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 organized into short labeled sections and front-loads the core return statement. The WORKFLOW and DO NOT CONFUSE WITH sections earn their place by providing actionable routing context, and the docs link is useful. The only minor redundancy is the INPUT CONTRACT section, which partially duplicates the input 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 is simple: one optional parameter fully documented in the schema, an output schema present, and a description that covers purpose, workflow, sibling differentiation, and a link to the full output/error contract. Everything an agent needs to select and correctly invoke this tool is present.
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 the single response_format parameter already fully described in the input schema (enum values, default, behavior). The description's INPUT CONTRACT line mostly restates the schema and is slightly ambiguous ('Required: markdown | json' while the parameter is optional with a default), so it adds no meaningful semantic 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 opens with a precise statement: 'Returns all 22 Major Arcana cards (The Fool through The World) as a structured array.' This names the verb, resource, and exact scope. It also distinguishes itself from sibling tools via the DO NOT CONFUSE WITH section, explicitly naming asterwise_get_tarot_cards and asterwise_get_tarot_suit and their respective 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 BEFORE: None and AFTER: asterwise_draw_tarot_cards, including how to filter by arcana_type. The DO NOT CONFUSE WITH section names two alternatives and clarifies what they cover (full 78-card deck vs 14 Minor Arcana cards). This gives an 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_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 declare readOnly, idempotent, and non-destructive behavior, and the description adds valuable context: case-insensitivity, local INVALID_PARAMS rejection, and a pointer to the full error contract. However, the opening claim of returning a 'structured array' sits awkwardly with the schema's default response_format of 'markdown', creating mild ambiguity about the default output 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 opens with a one-sentence functional summary, then uses tight labeled sections for workflow, input contract, and confusable alternatives. Every section earns its place and the documentation link is a useful pointer 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?
An output schema exists, so return-value details do not need to be explained. The description covers standalone execution, accepted inputs, error behavior, and the two most confusable sibling tools, giving an agent everything needed to select and 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 real value by enumerating the exact accepted suit values, noting case-insensitivity, and specifying that invalid values are rejected locally. This helps the agent construct valid inputs beyond what the schema alone 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 uses a specific verb ('Returns') and resource ('all 14 cards in a given Minor Arcana suit'), immediately establishing scope. The DO NOT CONFUSE section explicitly distinguishes it from asterwise_get_tarot_major_arcana and asterwise_get_tarot_cards, removing 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?
WORKFLOW: BEFORE/AFTER: None makes the standalone nature explicit, so the agent knows there are no sequencing constraints. DO NOT CONFUSE WITH names the two most confusable alternatives and explains the exact difference, giving clear 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_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?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds genuinely useful behavioral context beyond annotations: cryptographic randomness in card selection, independent 50% reversal chance per card, and the fact that the question is echoed but does not affect card selection. Slight deduction for not addressing return payload structure, though an output schema exists.
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 labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and a docs link. The core concept is front-loaded in the first sentence, and every section earns its place with 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?
Complete for a moderate-complexity tool with 3 optional params and an output schema. The description covers standalone usage, follow-up routing, parameter contracts with examples, sibling disambiguation, and points to a full output/error contract URL. 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 coverage is 100%, giving a baseline of 3. The description adds meaning beyond the schema: the 50% reversal mechanic for allow_reversed, a 500-char max and concrete example for question, and the behavioral note that question cannot influence card selection. This is meaningful enrichment, not repetition.
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 states a specific verb and resource: 'Draws 3 unique cards using cryptographic randomness and assigns each to a named positional slot.' It identifies the Past/Present/Future structure and explicitly names three sibling tools it should 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 states BEFORE (none, standalone) and AFTER (celtic cross for deeper analysis). The DO NOT CONFUSE WITH section names three alternatives with the exact conditions that select them: free draw, 10-card spread, and yes/no binary answer. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 description discloses meaningful behavioral details beyond the annotations: the answer depends on yes_no polarity and orientation, allowing reversed cards introduces nuanced/maybe answers, and results include a confidence level. The readOnlyHint=true already covers safety, and the description adds contextual behavior 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 front-loaded with the core purpose, then uses clearly labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that each earn their place. It is structured for quick scanning and avoids redundancy 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?
For a tool with three optional parameters and an output schema, the description is complete: it covers the standalone nature, follow-up suggestions, parameter guidance, sibling disambiguation, and points to a full output/error contract URL. Nothing an agent needs to 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 coverage is 100%, so baseline is 3, but the description adds value by explaining the recommended use of allow_reversed ('Recommended to keep true for nuanced answers') and clarifying the behavior when set to false. It also provides concrete example questions and a max-length constraint for the question parameter, 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 specific action ('Draws one card and returns a yes, no, or maybe answer with confidence level') and the mechanism ('derived from the card's built-in yes_no polarity and its orientation'). It also explicitly distinguishes itself from sibling tools in the DO NOT CONFUSE WITH section, so an agent can tell it apart immediately.
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 and DO NOT CONFUSE WITH sections provide explicit guidance: use asterwise_get_tarot_three_card_spread when more context is needed after a 'maybe', and avoid confusing this with asterwise_draw_tarot_cards or the three-card spread. This goes beyond implied usage and gives clear when-to-use and when-not-to-use signals.
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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds meaningful behavioral context by disclosing that it tracks Rajju veto severity and returns tradition metadata, which goes beyond the annotation defaults, though it does not detail error behavior or rate limits.
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 front-loaded purpose, workflow, input contract, sibling disambiguation, and documentation link. Every section earns its place with concrete information, and there is no filler or redundant restating of the tool name.
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 two-chart Tamil compatibility tool with a rich output schema and strong annotations, the description covers the purpose, workflow ordering, parameter contract, sibling distinctions, and points to the full output/error contract via URL. No critical operational information an agent would need to select or invoke the 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%, so the schema fully documents person1, person2, and response_format, including nested BirthData fields. The description's INPUT CONTRACT 'Two BirthData objects per global contract' reinforces but does not meaningfully extend what the schema already provides, 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 opens with a specific verb and resource: 'Evaluates twelve Tamil Thirumana poruthams for two charts', and adds distinctive details like Rajju veto tracking and an expanded breakdown map. The 'DO NOT CONFUSE WITH' section explicitly differentiates it from asterwise_get_porutham and asterwise_get_compatibility, so an agent can tell siblings apart without inspecting 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 recommends asterwise_get_porutham as a prior quick ten-koota pass, implying this tool is for deeper twelve-koota analysis. The DO NOT CONFUSE WITH block names both alternatives and their distinguishing limitations (ten poruthams only; North Indian 36-point schema), giving clear when-to-use versus when-to-use-elsewhere guidance.
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, covering the safety profile. The description adds useful behavioral traits: the 24-month range cap, upstream enforcement of date order/validity, expected date format, and the fact that output is chronological — all valuable context 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 front-loaded with the core purpose and then structured into labeled WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections. Every sentence earns its place, and the doc link for full contract avoids 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?
For a complex tool with many siblings, the description covers workflow, alternative routing, input constraints, and links to the full output/error contract. Since an output schema exists, return-value details are not required in the description, making this complete for an agent to select 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 baseline is 3. The description's INPUT CONTRACT supplements the schema by clarifying from_date/to_date format expectations, the 24-month cap, and that range/order/validity are enforced upstream rather than locally. This adds meaningful parameter semantics 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 opens with a precise verb and resource: 'Lists sign ingresses and retrograde/direct stations for all planets between two dates against the natal context and returns chronological astronomical events.' It clearly distinguishes this tool from siblings in the DO NOT CONFUSE section, making the tool's specific scope immediately apparent.
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 workflow guidance: BEFORE recommends asterwise_get_natal_chart and AFTER suggests asterwise_get_gochar. It also names two alternatives (get_gochar and get_dasha_transits) and explains exactly why they are different, leaving no ambiguity about when to use each tool.
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?
Annotations already declare readOnly/idempotent/non-destructive; the description adds useful context such as the recommended baseline chart and the true-return-year requirement. It also points to a full output/error contract, though it does not describe response specifics beyond what the output schema already covers.
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?
Labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) front-load the use case and keep caveats scannable. No wasted sentences, and the docs link serves as a useful escape hatch.
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 a nested birth object, output schema, and a large sibling family, the description covers workflow, input contract, and exclusions. It does not explicitly distinguish this umbrella varshaphal tool from asterwise_get_varshaphal_harsha_bala/saham, but the docs link and output schema close most 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 covers 100% of parameters, so baseline is 3; the description goes beyond the schema by clarifying that year is a raw Gregorian return year, not an age, and refers to it as 'target_year upstream,' preventing a common misuse.
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 exact computation ('annual Tajika-style solar return') and the concrete outputs (Muntha, Pancha Adhikari metrics, Tajika aspects, varshaphal positions), and explicitly distinguishes itself from asterwise_get_dasha and asterwise_get_transits.
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 BEFORE workflow (natal chart baseline), warns 'DO NOT CONFUSE WITH' two siblings, and adds the year-not-age input contract. 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_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. Defaults to the current year when omitted. | |
| 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 safety profile is covered. The description adds meaningful behavioral context: the score's structure (4 components × 5 points = max 20), the time-sensitivity of the calculation, and the fact that the Year Lord's Harsha Bala is the most actionable value. A link to the full output/error contract further increases 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 long but tightly organized with WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections. Every sentence earns its place: the workflow prevents misuse, the input contract clarifies parameters, the disambiguation section prevents sibling confusion, and the docs link handles edge cases.
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 nuanced Vedic astrology tool with many siblings, this description covers the essentials: what the tool computes, how to sequence it, what input it needs, and which similar tools it is not. Since an output schema exists, the description doesn't need to explain return values, and the docs link supplies the full 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 coverage is 100%, so the schema already documents all parameters. The description adds value by clarifying target_year as 'the Gregorian civil year of the solar return. Not age' and by noting that time is critical because solar return positions are time-sensitive. Minor caveat: calling time 'required' is slightly stronger than the schema, where time defaults to null, but the surrounding context makes the intent clear.
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: 'Computes Harsha Bala (positional happiness score) for all 7 classical planets in a Varshaphal solar return chart.' It also distinguishes itself from close siblings in the 'DO NOT CONFUSE WITH' section, making the tool's 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 gives explicit workflow guidance: call asterwise_get_varshaphal before to identify the Year Lord, and asterwise_get_varshaphal_saham after to interpret Saham lords. It also names three sibling tools and explains exactly why they are not substitutes, 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_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. Defaults to the current year when omitted. | |
| 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/non-destructive; description adds important behavioral caveats: solar return is time-sensitive, feeding age instead of year silently produces a wrong return, and accurate birth time is needed. However, it labels time as 'required' when the schema allows null/omission (sunrise chart fallback), which slightly misrepresents the tool's behavior when time is unknown.
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?
Structured with clear labels (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and front-loaded with the core function. Every section adds actionable information for a specialized astrological tool with many siblings, so the length is justified.
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 prerequisites, follow-up tools, input pitfalls, time sensitivity, and links to the full output/error contract; an output schema is also present. An agent has everything needed to invoke the tool correctly and interpret its position in the workflow.
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 every parameter; the description adds a genuinely useful warning about target_year being the civil year, not age. But it refers to the parameter as 'target_year' while the schema names it 'year', and it calls time 'required' while the schema marks it optional, creating minor confusion. Baseline 3 stands because the description adds some value but also introduces small inconsistencies.
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?
Opens with a specific verb and resource: 'Computes all 10 Tajika Saham (sensitive points) for a Varshaphal solar return chart.' Explains what Sahams are and explicitly distinguishes from three sibling tools. An agent can identify exactly what this tool returns.
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: BEFORE use asterwise_get_varshaphal to understand the base chart, AFTER use asterwise_get_varshaphal_harsha_bala. Also has a dedicated DO NOT CONFUSE WITH section listing alternatives and what each returns. This leaves no ambiguity about when to choose 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_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?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds useful context beyond that: standard natal orbs, no planet-name enforcement, a minimum of two input positions, and a link to the full output/error contract. It doesn't enumerate exactly which aspects are recognized, but the docs 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?
Core behavior is front-loaded, and the rest is organized into labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, docs). No redundant filler; 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?
With an output schema present and an explicit docs URL for the output/error contract, the description covers input contract, workflow, exclusions, and required parameters. An agent has everything needed to decide to call it and construct valid input.
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 concrete value for 'positions' with an example dict, the at-least-2-entries requirement, and the clarification that body names are arbitrary strings not validated by the tool. response_format is already fully documented by the schema enum/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?
Opens with a specific verb and resource: 'Calculates all active aspects between a supplied set of planetary longitudes.' The DO NOT CONFUSE section directly differentiates it from asterwise_get_western_natal and asterwise_get_western_synastry, so an agent can identify the exact scope.
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, or get positions first via asterwise_get_western_natal) and names alternatives with their distinguishing conditions. The 'DO NOT CONFUSE WITH' section tells the agent when the sibling tools should be chosen instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description is not burdened with basic safety disclosure. It adds meaningful behavioral context beyond annotations: the 0–100 score range, the scoring components, and the distinction that this tool returns a score rather than raw 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-structured with clear sections: core purpose first, then WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH. Every section adds routing or selection value, and the documentation link is a compact substitute for repeating the full output 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 a rich input schema, output schema, and annotation set, the description covers the essential operational context: what the score means, what inputs are required, what workflow to follow, which siblings to avoid, and where to find the full output/error contract. Nothing critical is missing for an agent to 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?
The input schema has 100% coverage, with detailed descriptions for every parameter including the nested person1/person2 objects, so the description does not need to re-document parameters. The description adds only a brief INPUT CONTRACT note that person1 and person2 are WesternBirthData, which is already present in the schema, so it stays at 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 opens with a specific verb and resource: computes an 'Overall compatibility score (0–100) between two natal charts,' and lists exactly what it scores (element affinity, synastry aspects, sign comparisons). It also explicitly differentiates itself from siblings in the DO NOT CONFUSE WITH section, so an agent can select it without opening the 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 provides explicit before/after guidance, telling agents that a natal chart per person is optional beforehand and that asterwise_get_western_synastry should be used afterward for raw aspect detail. The DO NOT CONFUSE WITH block names two alternatives and the exact conditions that disqualify them, giving clear when-to-use and when-not-to-use signals.
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 cover read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral context beyond that: the midpoint computation method, the contents of the return (dignities and internal aspects), and the significant fact that house_system is ignored. A docs link is also provided for the full output/error contract, so the agent has a path to deeper behavioral 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 tightly organized with labeled sections: core definition, WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and docs link. Every section earns its place, and the most important information is front-loaded in the first sentence. There is no filler or duplicated schema 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?
Given the nested schema, high schema coverage, annotations, and the presence of an output schema, this description provides everything needed to select and invoke the tool correctly. It covers purpose, workflow, parameter caveats, sibling differentiation, and points to the full contract via documentation. There are no obvious gaps for an agent to misuse 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, but the description contributes real semantic value by stating 'person1, person2 — WesternBirthData each' and especially 'house_system ignored.' This prevents the agent from mistakenly expecting house-system logic to affect the composite chart. It does not repeat the schema's field-level details, which is appropriate given the schema already documents them 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?
The description opens with a specific, unambiguous definition: 'Midpoint composite chart for two people. Each composite planet is the midpoint of the two natal positions.' It names the exact output ('composite planets with dignities and internal aspects') and explicitly distinguishes itself from synastry and compatibility tools. This leaves no doubt about what the tool does or how it differs 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 tells the agent to run asterwise_get_western_synastry first and why ('examine inter-chart aspects before composite'). The DO NOT CONFUSE WITH section explicitly contrasts the tool with synastry and compatibility, clarifying when each should be chosen. It also states the input contract and that house_system is ignored, providing concrete operational 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_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?
Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds meaningful context: the output is AI-synthesised, returns structured guidance plus metadata about the model and period, and response_format only changes rendering. This goes beyond the structured fields 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 WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections. The opening sentence carries the core meaning, and each labeled section earns its place by addressing selection, parameter constraints, and sibling disambiguation without unnecessary 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?
Given the presence of an output schema, the return format is already covered structurally. The description completes the picture with input constraints, disambiguation from a large sibling set, 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 description coverage is 100%, providing a solid baseline. The description adds extra value by enumerating accepted sun_sign values, explicitly excluding Sanskrit aliases, and clarifying that response_format only selects JSON versus markdown rendering. Some redundancy exists with the period enum, but the additional constraints are genuinely useful.
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 an AI-synthesised Western sun-sign horoscope for a chosen horizon and returns structured guidance fields plus metadata.' It clearly distinguishes the tool from related siblings in the DO NOT CONFUSE WITH section, naming both asterwise_get_horoscope and asterwise_get_western_natal and explaining the difference.
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 and actionable. The WORKFLOW section states this tool is standalone, and identifies when to use asterwise_get_western_natal instead. The DO NOT CONFUSE WITH section further clarifies when NOT to use this tool, naming the alternative Vedic and natal chart tools with their distinguishing 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 meaningful behavioral context beyond that: the computation logic (Moon returning to natal longitude every ~27.3 days), that the chart is cast for the birth location, and that after_date defaults to today. This gives the agent a concrete sense of what executing the tool will compute.
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 yet information-dense, and the core behavior is front-loaded in the first sentence. The WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections each earn their place, and the documentation link provides a natural place for deeper detail. There is no filler or 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?
Given the presence of a nested birth object, an output schema, and a large sibling list, the description provides enough direction through workflow context, explicit disambiguation, and a link to the full contract. It could be slightly more complete by naming response_format, but the schema already documents that parameter. The missing pieces are minor and covered by structured data.
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 three parameters thoroughly. The description mostly repeats what the schema already states: 'birth — WesternBirthData' and 'after_date (optional YYYY-MM-DD) — find next return after this date. Defaults to today.' It adds no syntax, format, or behavioral detail beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific, unambiguous statement: 'Next lunar return chart after a given date.' It then explains the exact astronomical trigger—'the Moon returns to its natal tropical longitude (approximately every 27.3 days)'—and what gets built: 'a complete Western natal chart for that moment at the birth location.' It explicitly distinguishes itself from solar return in the DO NOT CONFUSE WITH section, so an agent can confidently separate it from the closest 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?
The description provides explicit workflow context: 'BEFORE: asterwise_get_western_natal. AFTER: None.' It also names the direct alternative with a differentiating condition: 'DO NOT CONFUSE WITH: asterwise_get_western_solar_return — annual Sun return vs lunar_return (monthly Moon return).' This tells the agent both when to use this tool and what not to confuse it with.
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 already mark the call read-only and idempotent, and the description adds that the result is an array of daily phase objects identical to the sibling tool, and that out-of-range month values are rejected locally with MCP INVALID_PARAMS. It also links the full output/error contract, giving the agent access to details 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 core function is front-loaded in the first sentence, and the rest is organized into clear labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) with no redundant filler. Each section earns its place and the external docs link consolidates 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?
With an output schema present and annotations covering read-only/idempotent behavior, the description's coverage is complete: it explains the result shape, input validation, and disambiguation, and points to the full contract. No important 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?
Schema coverage is 100%, so baseline is 3, but the description adds concrete examples (2026, 5=May) and documents the local rejection behavior for month values outside 1–12, which is not in the schema. It only omits response_format, but the schema already fully describes that 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 opening sentence states a specific verb ('Returns') and resource ('lunar phase data for every day in a calendar month as a structured array'). The 'DO NOT CONFUSE WITH' section explicitly differentiates it from asterwise_get_western_moon_phase by noting the sibling is single-day only, so there is 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 gives an explicit DO NOT CONFUSE WITH directive naming the sibling tool and the distinguishing condition (single-day phase only). It also states WORKFLOW: BEFORE None/AFTER None, telling the agent it is standalone and requires no prerequisites or follow-ups.
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 cover the read-only and idempotent nature, and the description adds meaningful behavior: it computes tropical phases with Swiss Ephemeris, returns specific fields including the next major transition, and links to the full output/error contract. It does not detail timezone or invalid-date handling, but these are minor given the docs link and output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded, and the labeled WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections pack guidance without redundancy. Each section earns its place and the overall length is appropriate for the amount of routing and parameter context provided.
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 only two optional parameters, full schema coverage, an output schema, and a link to the full output/error contract, the description is complete for an agent to call this tool correctly. It also gives the necessary disambiguation against the most confusable 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?
Schema coverage is 100%, so the baseline is 3. The description adds a concrete example for the date parameter and restates its default behavior, which supplements the schema. The response_format parameter is not discussed in the description, but the schema already documents its enum and default 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?
The opening sentence names a specific verb ('Calculates'), the resource ('tropical lunar phase'), and the method ('Swiss Ephemeris'), then enumerates exactly what is returned. The DO NOT CONFUSE section further distinguishes it from the closest sibling tools, so an agent can identify it clearly.
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 it is standalone and points to asterwise_get_western_moon_calendar for month-level data. The DO NOT CONFUSE section explicitly names when to choose the alternatives: full monthly table versus Vedic tithi system. This gives 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_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?
Beyond the readOnly/idempotent annotations, the description discloses the tropical zodiac choice, the default-UTC timezone gotcha that shifts the Ascendant, the house_system behavior across related endpoints, and the ayanamsa limitation. These quirks materially affect chart accuracy and are not visible from annotations or the schema.
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 tightly structured with WORKFLOW, INPUT CONTRACT, IMPORTANT, NOTE, and DO NOT CONFUSE sections, front-loaded with the core function. Each section serves a distinct purpose and no sentence is filler for a tool with this many sibling variants.
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 astrology tool with many siblings, the description covers the full call contract, output scope, workflow, exclusions, and an error-contract URL. With an output schema available, omitting detailed return-field documentation is acceptable, and nothing an agent needs to invoke 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 coverage is 100%, and the description still adds value with examples for every birth field, an explicit timezone warning, house_system semantics, and a note that ayanamsa is always tropical and not a field. The INPUT CONTRACT maps each parameter to a clear meaning and practical example beyond the schema 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 opens with a specific verb and resource: 'Calculate a complete Western natal chart using the tropical zodiac and Swiss Ephemeris,' and enumerates concrete outputs such as 10 planet positions, house placements, essential dignities, aspects, and balance statistics. The DO NOT CONFUSE section explicitly differentiates it from the Vedic asterwise_get_natal_chart and the position-only asterwise_get_western_aspects, so a model 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 block states that BEFORE is None and names three AFTER tools (transits, synastry, solar return), giving clear follow-up context. The DO NOT CONFUSE section tells the agent when not to use this tool and what to use instead, making the selection criteria explicit.
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 this as read-only, idempotent, and non-destructive. The description goes further by explaining the calculation behavior: it finds the exact moment the planet returns to its natal tropical longitude and builds a chart at the birth location. This adds useful context beyond the safety annotations, though it does not detail potential edge cases or rate limits.
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 two-sentence functional summary, then uses clear labeled sections for workflow, input contract, disambiguation, and documentation link. Every section earns its place and there is 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?
The tool is moderately complex with a nested birth object and multiple options, but the description covers the prerequisite workflow, the disambiguation among sibling tools, the input contract, and links to a full output/error contract. Combined with complete schema descriptions and an output schema, this is sufficient 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 coverage is 100%, so the baseline is 3 where the schema carries the explanatory burden. The description adds meaningful value by enumerating the complete allowed planet list (Sun through Pluto), which the schema only illustrates with examples, and by labeling the birth object as WesternBirthData. These details help an agent construct a valid call without dereferencing 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: it finds the next return moment for a specified planet and builds a complete Western natal chart. It clearly distinguishes itself from solar and lunar return shortcuts by naming them explicitly, so an agent can tell this general planetary-return tool apart from its 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 gives explicit workflow guidance: it should be preceded by asterwise_get_western_natal, and after this tool there is no further step. It also names the alternatives (solar and lunar return shortcuts) and explains why not to confuse them with this tool, which provides clear when-to-use and when-to-use-another 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?
Annotations already cover read-only and idempotent behavior, so the description only needs to add context. It adds the calculation method, the time equivalence rule, the returned chart components, and workflow dependencies, and it references a full output and error contract. This is meaningful behavioral disclosure beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with clear WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections, and the core definition is front-loaded. It is slightly verbose due to the precise day/year conversion constant and repeated solar-arc mentions, but those details still support correct usage.
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 progression tool, the description covers method, prerequisites, alternatives, input contract, output contents, and a link to the full output and error contract. The output schema handles the return structure, so an 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 baseline is 3. The description still adds value by clarifying target_date as 'the date to progress to' rather than just a formatted date, and by naming the birth object as WesternBirthData. It leaves response_format to the schema, which is reasonable given 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 first sentence clearly names the secondary progressed chart and the day-for-a-year method, then lists the exact outputs (all 10 progressed planet positions, progressed Ascendant and MC, solar arc). The DO NOT CONFUSE section explicitly separates it from solar arc and transits daily, so the agent does not need to rely on the tool name alone.
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 saying to call asterwise_get_western_natal before and asterwise_get_western_solar_arc after for comparison. It also names two likely alternatives and explains why they are not the same, giving the agent clear criteria for when to use this tool instead.
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?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds useful behavioral context beyond that: it explains the solar arc calculation, the uniform ~1° per year progression, and that target_date defaults to today. It doesn't cover error behavior or output format, but the output schema and the linked full contract cover those, so the added value over annotations is solid.
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 labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH), with a clear first sentence defining the tool. Every sentence earns its place; there is no fluff or redundant restatement of the tool name. It is compact yet information-dense.
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 computational astrology tool with an output schema and safety annotations, the description is complete: it covers the prereq, the disambiguation, the input contract, the optional parameter default, and references a full output/error contract URL. Nothing essential for an agent to properly select and invoke this 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 description coverage is 100%, so the input schema already documents all parameters and nested fields thoroughly. The description's INPUT CONTRACT restates that birth takes WesternBirthData and target_date is optional with a default to today, which mirrors the schema. It adds little beyond 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 opens with 'Solar Arc Directions for a target date' and explains the method (progressed Sun minus natal Sun, uniformly applied to all planets/angles). It clearly identifies the resource and operation, and the DO NOT CONFUSE section explicitly differentiates it from secondary progressions and transits, 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 description provides a WORKFLOW section stating the prerequisite (BEFORE: asterwise_get_western_natal) and AFTER: None. It also lists alternative tools with distinctions: secondary progressions (each planet moves at its own rate) and daily transits (real-time). This gives 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_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. Defaults to the current year when omitted. | |
| 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 communicate read-only, idempotent, non-destructive behavior; the description adds useful behavioral context by stating that house_system is ignored and the chart uses return computation defaults. 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 main purpose is front-loaded in the first sentence, with workflow, input contract, and disambiguation clearly labeled. Each section earns its place without padding.
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 strong annotations, this covers prerequisites, excluded sibling tools, input constraints, and points to a full output/error contract. No critical calling context 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 parameter details are already present. The description adds value by clarifying that year is a calendar year and not an age, and by flagging that house_system is ignored despite appearing in the nested 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?
States a specific action: finds the exact solar return moment and builds a Western chart at the birth location. The 'DO NOT CONFUSE WITH' section explicitly distinguishes it from lunar return and Vedic varshaphal, making sibling differentiation 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 an explicit workflow (run asterwise_get_western_natal first), an input contract, and named alternatives with conditions for when not to use this tool. This gives an agent concrete routing guidance beyond the schema.
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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds meaningful behavioral context beyond the annotations: it uses the tropical zodiac, standard inter-chart orbs, and explicitly notes that house_system is ignored for the synastry payload. This is useful for avoiding a caller expectation that house systems affect the result.
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 every labeled section earns its place: purpose, workflow, input contract, and sibling disambiguation. The structure makes it scannable, and the most important identifying information is front-loaded. It is not overly verbose, though the docs link could be considered optional.
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, rich input schema, output schema presence, and full annotations, the description is complete enough. It covers prerequisites, follow-up workflow, input expectations, the ignored parameter gotcha, and distinguishes sibling tools. The 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 each field, so the baseline is 3. The description adds extra value by stating that person1/person2 follow WesternBirthData format and by calling out that house_system is ignored for synastry payload, which prevents misusing a schema field. This 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 states a specific deliverable: 'Aspect grid between two natal charts using the tropical zodiac' and 'Returns all inter-chart aspects using standard inter-chart orbs.' It also explicitly distinguishes itself from asterwise_get_western_composite and asterwise_get_western_compatibility, ensuring an agent can 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?
The WORKFLOW section explicitly tells the agent to call asterwise_get_western_natal per person before this tool and asterwise_get_western_composite after. The DO NOT CONFUSE WITH section names the two closest alternatives and explains the difference (one merged midpoint chart vs two charts overlaid; numeric score vs raw aspects), 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_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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds important non-obvious behavior: 'house_system ignored for this endpoint', defaulting start_date to today, and specific transit orbs (major 3°, sextile 2°, minor 1°). 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 labeled sections: summary, WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH. It is somewhat longer than minimal, but every section carries decision-relevant information, and the front-loaded summary allows quick understanding.
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 parameter, multiple sibling transit tools, and optional parameters, the description covers purpose, parameters, workflow, exclusions, and points to a full output/error contract. The presence of an output schema means return-value documentation is already handled elsewhere.
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 each parameter. The description still adds value by summarizing the birth contract, explaining that house_system is ignored, and clarifying start_date defaults to today. This is above the baseline for fully documented schemas.
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.' It further specifies the exact output (10 planets, tropical longitudes, active aspects with orb values). It explicitly distinguishes itself from the weekly and monthly transit tools, 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 description provides a WORKFLOW section with BEFORE (natal chart first) and AFTER (weekly transits for a week view). It also has a DO NOT CONFUSE WITH section naming weekly and monthly variants with their time-window differences. This gives explicit when-to-use guidance and clear exclusions.
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 cover read-only, idempotent, and non-destructive behavior. The description adds valuable behavioral context beyond the annotations: the window is 30 days, peak aspects are those active 10+ days, and house_system is ignored. A link to the full output/error contract supplements this further.
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 a lead summary, workflow, input contract, sibling disambiguation, and docs link. It is front-loaded with the most important behavioral facts and contains no filler, despite a minor repetition of the 'defaults to today' 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?
For a tool with an output schema and 100% input-schema coverage, the description is complete: it explains the window, the workflow dependency, the key inputs, the sibling alternatives, and links to the full contract. Nothing critical 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 baseline is 3. The description adds meaningful extra semantics by clarifying that house_system is ignored inside the birth object and that start_date acts as the month/window start and defaults to today. This goes beyond what the schema alone 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?
States a specific verb and resource: computes a '30-day transit window vs natal chart' and returns 'day-by-day transit snapshots plus peak aspects.' It also differentiates itself from the daily and weekly sibling tools by duration, so an agent can distinguish them at a glance.
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: 'BEFORE: asterwise_get_western_natal' and 'AFTER: None.' It also gives a clear DO NOT CONFUSE section naming the daily and weekly alternatives with exact durations, and explains how to set the window with start_date.
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?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. The description adds meaningful behavioral detail beyond the annotations: it notes that 'house_system ignored', defines 'peak aspects (active 4+ days in the window)', and clarifies that start_date defaults to today. This gives the agent practical invocation context that 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 core function is front-loaded in the first sentence. The rest is densely structured into labeled sections — WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH — with no filler. The documentation link is tucked at the end, and every line contributes actionable information for selection or invocation.
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 is complete for an agent's needs: it explains what the tool returns, the window length, default behavior, workflow ordering, and the precise distinction from sibling tools. The link to the full output/error contract covers edge cases without bloating the description.
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 value by flagging 'house_system ignored' — a behavioral nuance not present in the schema — and by restating the essential contract 'birth — WesternBirthData' and start_date default. This helps the agent avoid passing irrelevant house-system 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 opens with a specific verb and resource: '7-day transit window vs natal chart', then states exactly what is returned: 'day-by-day transit snapshots plus peak aspects (active 4+ days in the window)'. It also explicitly names sibling tools in the 'DO NOT CONFUSE WITH' section, making it easy to distinguish from daily and monthly transit 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: asterwise_get_western_natal' and 'AFTER: asterwise_get_western_transits_monthly — for full month'. It also differentiates this tool from daily and monthly variants by window length: 'single day' vs '30 days vs 7', so an agent knows exactly when to choose 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_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 declare readOnlyHint, idempotentHint, and destructiveHint false, so the description does not need to repeat safety behavior. It adds valuable context by explaining that the result is based on element/modality affinity, requires no birth data or ephemeris calculation, and is less accurate than full-chart compatibility. No contradiction with annotations exists.
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: a one-line summary, workflow, input contract, disambiguation, and a documentation link. Every section adds distinct value, and the key differentiators are front-loaded in the first sentence.
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-required-parameter read-only tool, the description covers input constraints, disambiguation from siblings, workflow context, output format via response_format schema, and even a link to the full output/error contract. Nothing an agent needs to 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 a baseline of 3 applies. The description goes beyond the schema by providing an INPUT CONTRACT that specifies both required parameters (sign1, sign2) and their valid domain ('English zodiac names — Aries … Pisces'), which adds practical validation semantics not fully expressed by the schema examples.
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 'Sign-to-sign compatibility without birth data' and clarifies the mechanism ('element and modality affinity'), which precisely identifies the tool's verb, resource, and scope. It also distinguishes itself from the closely named asterwise_get_western_compatibility and asterwise_get_western_synastry, so an agent can immediately tell this tool apart.
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 and DO NOT CONFUSE WITH sections explicitly state when to use this tool (no birth data, no ephemeris calculation) and when to prefer alternatives ('when full charts are available' for asterwise_get_western_compatibility). This gives clear selection criteria rather than leaving usage to inference.
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, classical results, modern summaries, 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 and idempotentHint=true, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations: time='00:00' is accepted without a flag, but yoga house logic may be incorrect when the true birth time is unknown, and it points to a full output/error contract URL. This is useful, edge-case transparency that the annotations cannot 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 clearly labeled sections: summary, WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and a documentation link. Every section earns its place, and key disambiguation information is front-loaded before the caveats.
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 parameter schema covers all inputs, the description completes the picture by stating the output contents, giving workflow sequencing, naming sibling pitfalls, and disclosing the time-precision caveat. An agent has everything needed to select and invoke this 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 description coverage is 100%, and the schema thoroughly documents birth fields, ayanamsa, timezone, person_name, and response_format. The description does not add new parameter-level meaning beyond referencing the global BirthData contract and the time='00:00' caveat, so the schema carries the parameter documentation 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 ('Evaluates'), a clear resource (natal chart), and a specific focus (named classical yogas), and enumerates the return contents: category, formation text, classical results, modern summaries, and keywords per hit. It also distinguishes itself from asterwise_get_natal_chart and asterwise_get_panchanga, which are the two most likely siblings to confuse with 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 an explicit WORKFLOW section: it recommends asterwise_get_natal_chart as a prerequisite and asterwise_get_doshas as a complementary follow-up. It also includes a DO NOT CONFUSE WITH section naming two alternatives and explaining why they are different, 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_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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable behavioral context beyond those hints: the output tree is at data.periods.root[], dates in periods use DD/MM/YYYY, and agents must not expect a top-level data.periods array. This meaningfully shapes agent expectations about the response structure and format.
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 information-dense but well-structured with WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections. Every sentence contributes either operational guidance, disambiguation, or a concrete contract detail; there is no filler 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 tool's moderate complexity, full schema coverage, and presence of an output schema, the description is complete: it explains the output tree location, date formatting, workflow relationships, sibling distinctions, and links to the full error contract. 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 every parameter including lat/lon bounds, date pattern, timezone defaults, and response_format enum. The description refers to the 'global contract' for BirthData but does not add parameter-level meaning beyond what the schema provides, 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 opens with a specific verb and resource: 'Computes the eight-Yogini, 36-year Yogini Dasha cycle with two-level period trees and DD/MM/YYYY boundaries from birth data.' It uniquely identifies the tool's output and explicitly differentiates it from sibling tools like asterwise_get_dasha and asterwise_get_ashtottari_dasha, so an agent can select it correctly 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?
The WORKFLOW section explicitly recommends running asterwise_get_natal_chart before and asterwise_get_dasha after, and the DO NOT CONFUSE WITH section names two sibling tools plus the exact differences. This gives clear when-to-use and when-not-to-use guidance that goes far beyond a generic description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
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
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.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- AlicenseNot gradedqualityCmaintenanceEnables AI chat clients to perform market research and competitive intelligence by gathering company overviews, competitor lists, product portfolios, pricing snapshots, and recent news via live Tavily search.MIT
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.11961MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Many tools are well-differentiated by explicit 'DO NOT CONFUSE WITH' notes, but the sheer number of near-neighbor pairs (e.g., crystal vs gemstone recommendations, natal chart variants, dasha systems, compatibility systems, tarot draw variants) creates real selection risk. The descriptions mitigate overlap, but an agent browsing 103 tools will struggle to pick the right one.
Every tool follows the asterwise_get_* or asterwise_draw_* prefix convention with a clear noun phrase (e.g., asterwise_get_natal_chart, asterwise_draw_tarot_cards). The two verbs 'get' and 'draw' are semantically appropriate, and there are no camelCase or mixed-style names.
103 tools is far beyond a manageable MCP surface. While the domain is broad (Vedic astrology, Western astrology, numerology, tarot, crystals, dream symbols), the server bundles multiple distinct domains into one namespace, making it nearly impossible for an agent to discover the right tool efficiently.
The surface is impressively comprehensive across astrology, numerology, tarot, and remedies, with deep coverage of dasha systems, compatibility frameworks, and chart types. Minor gaps exist (e.g., no tarot interpretation endpoint, no batch operations, no update/delete since it's read-only data), but for a reference/prediction API the coverage is strong.