Skip to main content
Glama
asterwise

Asterwise

Official

Asterwise MCP Server

Listed on mcpservers.org

Astrology and divination calculations as MCP tools. 103 tools covering Vedic and Western astrology, numerology, tarot, crystals, dreams, natal charts, Dasha, matchmaking and Panchanga, with interpretations that follow classical Jyotish method. Every position is verified against an independent Swiss Ephemeris run (asterwise.com/proof) and checked against NASA JPL Horizons, median 0.046 arcseconds over 80 positions (asterwise.com/accuracy).

Quick Start (2 minutes)

See it first: 46-second demo of Claude Desktop casting a chart through this server, and the independent Swiss Ephemeris cross-check.

Get your API key

Sign up free at asterwise.com/dashboard: 500 calls/month on the Sandbox tier. No credit card. No time limit.

Connect to Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "asterwise": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.asterwise.com/mcp"
      ],
      "env": {
        "MCP_HEADER_AUTHORIZATION": "Bearer your-api-key-here"
      }
    }
  }
}

Connect to Cursor

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "asterwise": {
      "url": "https://mcp.asterwise.com/mcp",
      "headers": {
        "Authorization": "Bearer your-api-key-here"
      }
    }
  }
}

Test the connection

curl https://mcp.asterwise.com/health

Related MCP server: VedIntel AstroAPI MCP

Authentication

Three methods supported:

Method 1 — API Key (quick start)
Pass your Asterwise API key (starts with aw_) either as Authorization: Bearer <api-key> or as an X-API-Key: <api-key> header. Both are equivalent; use whichever your MCP client can set.

Method 2 — OAuth 2.1 (production)
Exchange your API key for a short-lived token:

curl -X POST https://mcp.asterwise.com/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "client_credentials",
    "client_id": "your-api-key",
    "client_secret": "your-api-key"
  }'

Returns: {"access_token": "...", "expires_in": 3600, ...}

Use the token: Authorization: Bearer <access_token>

Access tokens are stateless HS256 JWTs. The API key is carried inside the token encrypted with a key derived from JWT_SECRET; only a SHA-256 hash of the key appears in the sub claim. Keep JWT_SECRET private.

Method 3 — OAuth 2.1 authorization code for MCP clients (Claude, Cursor, VS Code, Smithery)
MCP clients log a user in through the standard authorization-code flow with PKCE (S256). Discovery is at /.well-known/oauth-authorization-server. Two ways for a client to identify itself are supported:

  • Client ID Metadata Documents (current MCP spec, preferred): use an HTTPS URL as client_id. The URL must serve a JSON document whose client_id equals the URL, with client_name, redirect_uris, and token_endpoint_auth_method: "none". These clients are public: no secret, PKCE only, authorization_code and refresh_token grants, refresh tokens rotate on every use. Redirect URIs must be https, or http on localhost / 127.0.0.1 / [::1] (port ignored, per RFC 8252). A reference document you can copy: https://asterwise.com/public/oauth/example-client.json.

  • Dynamic Client Registration (POST /oauth/register, deprecated in the MCP spec but still supported): returns a client_id and client_secret; the secret is required at /oauth/token.

The server fetches metadata documents with SSRF protections (public addresses only, no redirects, 64 KB, 10 s) and caches them for the document's Cache-Control: max-age (60 s to 24 h, default 1 h). The consent page shows the host that published the document.

Run over stdio

For hosts that speak stdio instead of HTTP (Glama hosted builds, a local Claude Desktop entry, quick tests):

pip install -r requirements.txt
ASTERWISE_API_KEY=aw_your_key python stdio.py

Over stdio the key comes from ASTERWISE_API_KEY; the server starts and lists its tools without one, and tool calls need it. Logs go to stderr.

Configuration

Copy .env.example to .env and set at least:

Variable

Required

Description

ASTERWISE_API_BASE_URL

Yes

Asterwise API base URL (e.g. https://api.asterwise.com).

JWT_SECRET

For /oauth/token

At least 32 characters; used to sign access tokens.

MCP_SERVER_HOST / MCP_SERVER_PORT

No

Bind address and port for the MCP HTTP server.

LOG_LEVEL

No

Default INFO.

MCP_OAUTH_SECRET

For OAuth

Shared with asterwise-api; verifies access tokens issued by its /v1/oauth/token.

ASTERWISE_API_KEY

stdio only

Your Asterwise API key for python stdio.py; HTTP deployments take the key per request instead.

INTERNAL_API_TOKEN

For OAuth client registration

Shared with asterwise-api; used when forwarding dynamic client registration.

FRONTEND_URL

For /authorize

Where the browser is sent for sign-in and consent (e.g. https://asterwise.com).

OPENAI_APPS_CHALLENGE_TOKEN

No

Served at /.well-known/openai-apps-challenge for directory verification.

Tools (103 total)

The MCP server exposes 103 tools organized by Python module. The categorization reflects code organization; tools may serve multiple traditions (e.g. matchmaking includes both Sanskrit Dashakoot and Tamil Porutham methods).

  • western — 16 tools (chart, transits, returns, progressions)

  • natal — 13 tools (chart, dasha trees, ascendant systems)

  • numerology — 11 tools (profile, compatibility, life path)

  • tarot — 9 tools (draws, spreads, suit references)

  • vedic_reference — 8 tools (nakshatra, planet nature, ayanamsha, classical reference)

  • numerology_gaps — 7 tools (expression, soul urge, personality, maturity, balance, karmic, personal cycles)

  • panchanga — 6 tools (panchanga, choghadiya, rahu kaal, hora)

  • crystals — 5 tools (list, by planet, recommendations, individual)

  • dasha — 5 tools (vimshottari, ashtottari, yogini, char, transits)

  • matchmaking — 5 tools (dashakoot, porutham, thirumana, papasamyam, compatibility)

  • horoscope — 4 tools (daily/weekly/monthly/yearly)

  • yoga_dosha — 4 tools (yogas, doshas, sade sati, pitra dosha)

  • angel_numbers — 3 tools (today, personal, lookup)

  • varshaphal — 3 tools (annual chart, saham, harsha bala)

  • dreams — 2 tools (symbols, individual)

  • panchanga_ext — 2 tools (calendar, festivals, tamil)

For the full tool list see docs.asterwise.com or the MCP server's tool listing endpoint.

Run locally

python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
export ASTERWISE_API_BASE_URL=https://api.asterwise.com
export JWT_SECRET="$(python -c 'import secrets; print(secrets.token_hex(32))')"
uvicorn server:app --host 0.0.0.0 --port 8080

uvicorn server:app is the same entry point the production Dockerfile and railway.toml use, so the auth middleware, OAuth routes and /health are all present locally. Runtime dependencies are pinned in requirements.txt; requirements-dev.txt adds the test tooling.

Tests

pytest

Coverage is enforced at 78% for core modules (auth, client, errors, logging_config, models, runtime, server); tool modules are excluded from the gate (see .coveragerc).

Status

https://status.asterwise.com

License

MIT. See LICENSE. Security reports: see SECURITY.md.

Available Tools

103 tools
asterwise_check_mobile_numberMobile Number Check
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
nameYesPerson's full name as commonly written; letters are converted to numerology values.
mobile_numberYesMobile number to analyse; digits only, country code optional.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_check_sade_satiSade Sati
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_check_vehicle_numberVehicle Number CheckA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
nameYesPerson's full name as commonly written; letters are converted to numerology values.
vehicle_numberYesVehicle registration number, e.g. 'DL01AB1234'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context by specifying that letters and separators are ignored, that reduction uses numeric digits only, and that the response follows the same harmony schema as mobile analysis. It stops short of summarizing actual error modes beyond linking to the external 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.

Conciseness5/5

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

The description is well structured into WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and a documentation link. Each sentence serves a clear purpose, and the most important behavioral details are front-loaded in the opening sentence.

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

Completeness5/5

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

The description provides invocation context, expected input normalization, sibling-tool disambiguation, a recommended predecessor, and a pointer to the full output and error contract. Since the input schema is fully documented and an output schema exists, the description does not need to restate return values and is complete for an agent selecting and calling this tool.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema already documents all four parameters. The description adds value by explaining the input contract for the vehicle_number parameter — letters and separators are stripped and only digits participate in reduction — which is not fully explicit in the individual property descriptions. This complements rather than merely repeats the schema.

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

Purpose5/5

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

The description uses a specific verb and resource: it strips non-digits from a vehicle registration token, reduces the numeric run with owner name and birth date, and returns a harmony schema. It clearly differentiates itself from asteroids mobile-number checking and business-name analysis, so an agent can identify this tool without opening the schema.

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

Usage Guidelines5/5

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

The WORKFLOW section explicitly recommends running asteroid_get_numerology_profile before this tool and states AFTER: None. The DO NOT CONFUSE WITH section names two siblings and explains why they are not appropriate, which gives an agent concrete guidance on when to choose this tool over alternatives.

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

asterwise_draw_tarot_cardsDraw Tarot CardsA
Read-only
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of cards to draw.
allow_reversedNoWhether cards may be drawn reversed (upside down).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description is consistent with them. It adds significant context beyond annotations: cryptographic randomness via Python secrets.SystemRandom, per-call independence with no session state, local rejection of out-of-range counts with MCP INVALID_PARAMS, and a 50% per-card reversal chance that is explicitly 'not seeded.'

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

Conciseness5/5

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

The description is front-loaded with the core behavior in the first sentence, then organized into labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that make it scannable. There is no filler; examples, validation notes, and the docs link all earn their place, and the length is proportionate to the three near-sibling tools it must disambiguate.

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

Completeness5/5

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

Between the annotations (safe read operation), the output schema, and the docs link for the full output/error contract, nothing an agent needs to invoke this tool correctly is missing. The reminder to interpret drawn cards via active_meaning and active_keywords fields also closes the loop on how results should be consumed.

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

Parameters4/5

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

With 100% schema description coverage, the schema already documents all three parameters; the description adds strong value with concrete examples (1 daily pull, 3 simple reading, 10 Celtic Cross, 78 full deck), the 1–78 boundary with local validation behavior, and probability mechanics for allow_reversed (50% per card, independent, not seeded). Minor gap: response_format is absent from the INPUT CONTRACT section, though its schema description is thorough.

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

Purpose5/5

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

The description opens with a specific verb and resource — 'Draws N unique random cards from the 78-card deck' — and adds scope-defining traits (unique, cryptographic randomness, no session state). The 'DO NOT CONFUSE WITH' block names the three closest tarot siblings and their distinguishing behavior, so an agent can select this tool without opening their schemas.

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

Usage Guidelines5/5

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

Explicitly states the tool is standalone with no prerequisites or follow-up ('BEFORE: None', 'AFTER: None'). The 'DO NOT CONFUSE WITH' section names asterwise_get_tarot_card_of_the_day, asterwise_get_tarot_three_card_spread, and asterwise_get_tarot_celtic_cross with the precise differences (deterministic vs positional vs random), leaving no ambiguity about when this tool is the right choice.

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

asterwise_get_angel_numberAngel NumberA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesAngel number sequence as seen, e.g. '111' or '1234'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/5

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

The description includes 'WORKFLOW: BEFORE: None — standalone. AFTER: None.' which clarifies no side effects, complementing the annotations (readOnlyHint, idempotentHint, destructiveHint). It also states the output format parameter, so the agent knows it produces markdown or JSON.

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

Conciseness5/5

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

The description is well-structured with clear sections (purpose, supported, workflow, input contract, disambiguation) and each section serves a necessary role. It is detailed but not redundant, and the formatting makes it easy to parse.

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

Completeness5/5

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

Given the large number of sibling tools, the description provides complete context: purpose, supported inputs, disambiguation from relevant alternatives, workflow, input contract, and a link to full output/error docs. It also indicates the output options via the response_format parameter.

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

Parameters5/5

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

Both parameters are fully described in the schema: 'number' as the angel number sequence with examples, and 'response_format' with enum and default. The description's 'INPUT CONTRACT' section reinforces the meaning with examples, going beyond the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Lookup the meaning of a specific angel number by its sequence.' It also specifies supported sequences and explicitly names sibling tools to avoid confusion (asterwise_get_angel_number_today, asterwise_get_angel_number_personal, asterwise_get_number_meaning).

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

Usage Guidelines5/5

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

The description explicitly provides usage guidance through the 'DO NOT CONFUSE WITH' section, listing specific alternatives and explaining the difference (e.g., today's daily number, personal number from birth date, Pythagorean numerology). This tells the agent exactly when to use this tool vs alternatives.

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

asterwise_get_angel_number_personalPersonal Angel NumberA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
nameNoPerson's name, used to personalise the angel number reading.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the bar is lower. The description adds a linked 'Full output and error contract' and mentions a default behavior for date ('Defaults to today when omitted'), providing additional transparency 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.

Conciseness4/5

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

Structured with clear headings (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and a concise link to full docs. Each section is purposeful, though it repeats some schema-level parameter descriptions and includes a long sibling list in context; the description itself is efficient without fluff.

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

Completeness5/5

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

Provides the mapping logic, a recommended prerequisite, explicit disambiguation from nearest siblings, and a link to the full output/error contract. Since an output schema exists (per context), return values need not be explained. The description is complete enough for an agent to decide to call it and to anticipate its behavior.

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

Parameters3/5

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

Schema description coverage is 100% (per context signals), so baseline is 3. The tool description repeats the date and name parameters with a concrete example for date, but does not add substantially new semantics beyond what the schema already provides. The response_format parameter is not mentioned in the main description, though it is covered in the schema.

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

Purpose5/5

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

States a specific verb ('Computes') and resource ('personal angel number') with a clear method (Pythagorean Life Path). Explicitly distinguishes from siblings in the 'DO NOT CONFUSE WITH' section, naming asterwise_get_angel_number_today and asterwise_get_numerology_profile, so an agent can select it correctly 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.

Usage Guidelines5/5

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

Provides a recommended prerequisite workflow ('BEFORE: RECOMMENDED — asterwise_get_numerology_profile — confirm Life Path before calling') and explicit alternatives to avoid confusion, covering when to use and when not to use this tool. This fully addresses the 'when vs alternatives' guidance.

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 TodayA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive, so the description doesn't need to restate that. It adds valuable context by explaining the computational method (date digits summed and reduced to a single digit, then tripled) and offering a link to the full output/error contract, which covers any missing edge-case details.

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

Conciseness4/5

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

The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and is front-loaded with the primary purpose. It is slightly lengthy due to the distinctions and workflow notes, but every sentence serves a purpose, and the included docs link consolidates additional details.

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

Completeness4/5

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

Given the tool's simplicity (no required params, read-only), the description is complete: it explains what it does, how it computed, when to use it vs. alternatives, and provides a docs link for errors/output. It doesn't explicitly mention response formats, but the schema already covers that, and the workflow note clarifies its standalone nature.

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

Parameters3/5

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

The schema description covers the single optional parameter (response_format) with enum and default, achieving 100% coverage. The description adds context that no required parameters exist and that the date is automatically derived, but this relates to operational behavior rather than enhancing parameter understanding beyond the schema.

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

Purpose5/5

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

The description clearly states that the tool returns today's angel number computed from the current date, with a specific algorithm (sum and reduce digits). It explicitly distinguishes itself from sibling tools via the 'DO NOT CONFUSE WITH' section, naming asterwise_get_angel_number and asterwise_get_angel_number_personal and their purposes.

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

Usage Guidelines5/5

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

Usage guidance is explicit: the 'WORKFLOW' section states it is standalone and suggests when to use the personal angel number tool afterward. The 'DO NOT CONFUSE WITH' section clarifies when to use alternative tools (specific number lookup vs. personalized from birth date), leaving no ambiguity about selection.

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

asterwise_get_ashtakavargaAshtakavarga
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_ashtottari_dashaAshtottari Dasha
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
levelsNoDepth of the dasha tree: 1 returns major periods only, each extra level adds the next sub-period layer.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_ayanamshaAyanamshaA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate to compute the ayanamsha for, YYYY-MM-DD. Defaults to today.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already provide strong safety cues: readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds useful behavioral context beyond those: it is a standalone reference with no BEFORE/AFTER workflow dependencies, and it defaults the date to today. It also links to the full output and error contract, which covers any remaining behavioral details.

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

Conciseness5/5

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

The description is well structured and front-loaded: the core behavior appears in the first sentence, followed by compact WORKFLOW, INPUT CONTRACT, and confusion-avoidance sections. Every section earns its place and the whole thing is easy for an agent to scan.

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

Completeness5/5

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

For a simple two-parameter read-only tool with full schema coverage, an output schema, and rich annotations, the description is complete. It covers date format, default behavior, supported systems, sibling alternatives, and points to the full output/error contract.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents both date and response_format fully. The description reiterates the date default but does not add meaningfully beyond the schema. Baseline 3 is appropriate because the schema carries the parameter semantics burden.

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

Purpose5/5

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

The description states a specific verb with a resource: 'Returns ayanamsha values for all four supported systems (Lahiri, Raman, KP, Tropical) for a given date.' It is clearly distinct from sibling tools, and it even names the two most likely confusable alternatives and what they do differently.

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

Usage Guidelines5/5

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

The description explicitly provides a 'DO NOT CONFUSE WITH' section, naming asterwise_get_natal_chart and asterwise_get_westen_natal and explaining when each should be used instead. This gives concrete routing guidance beyond simply defining the tool.

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

asterwise_get_balance_numberBalance NumberA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description does not add extra context about side effects, permissions, or rate limits, but it is consistent with the annotations.

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

Conciseness5/5

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

The description is well-organized with clear sections (purpose, workflow, input contract, do-not-confuse) and is free of unnecessary verbosity. Every sentence adds value.

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

Completeness5/5

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

Includes algorithm, worked examples, output format options, and differentiation from related tools. An agent has everything needed to invoke this tool correctly without further clarification.

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

Parameters5/5

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

Both parameters are fully described in the schema with types, defaults, and enums. The description adds the algorithm and concrete examples, providing rich semantic detail beyond the schema.

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

Purpose5/5

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

The description clearly states it calculates the Balance number from first letters of name parts, with explicit examples. It distinguishes itself from expression number and karmic lessons, making its purpose unmistakable.

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

Usage Guidelines5/5

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

The description includes a 'DO NOT CONFUSE WITH' section that explicitly names sibling tools and clarifies when not to use them. It also covers output format options, giving clear usage direction.

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

asterwise_get_biorhythmBiorhythmA
Read-only
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of consecutive days to include, starting from the target date.
birth_dateYesDate of birth, YYYY-MM-DD.
target_dateNoDate to chart the cycles for, YYYY-MM-DD. Defaults to today.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

The description adds some behavioral context beyond the annotations by stating it is 'standalone' and has a specific workflow after it, which is not covered by the readOnly or idempotent hints. However, it does not explicitly mention side effects or permissions, though the annotations already cover these (readOnlyHint true, destructiveHint false). Overall, it adds moderate context without contradicting the annotations.

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

Conciseness4/5

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

The description is structured into clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and is not overly long. However, the INPUT CONTRACT section repeats information already present in the schema, introducing slight redundancy. The front-loaded first sentence is effective, and the overall structure is easy to follow.

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

Completeness4/5

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

Given the moderate complexity (4 parameters, 1 enum, output schema exists), the description covers the core purpose, usage, and differentiators. It points to a URL for the full output and error contract, which addresses potential omissions. It does not describe the output structure in detail, but the link compensates. Overall, it is sufficiently complete for an agent to decide and invoke the tool correctly.

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

Parameters4/5

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

The schema already covers 100% of the parameter descriptions, giving a baseline of 3. The description adds the range constraint for 'days' (1-90) and clarifies the default behavior for 'target_date' ('Defaults to today'), which is not fully specified in the schema. This additional context improves understanding beyond the schema alone.

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

Purpose5/5

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

The description clearly states that the tool computes physical, emotional, and intellectual biorhythm cycles for a birth date. It also explicitly distinguishes itself from related tools via the 'DO NOT CONFUSE WITH' section, naming asterwise_get_nakshatra_prediction and asterwise_get_panchanga. This provides both a specific verb and resource, and clear differentiation.

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

Usage Guidelines5/5

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

The description provides explicit workflow guidance: 'BEFORE: None' and 'AFTER: asterwise_get_nakshatra_prediction', indicating where this tool fits in a sequence. It also tells the agent when not to use this tool (i.e., for Vedic daily predictions or panchanga elements), making the selection criteria very clear.

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

asterwise_get_business_name_analysisBusiness Name Analysis
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
business_nameYesBusiness or brand name to analyse.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_chaldean_numerologyChaldean NumerologyA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already disclose read-only, idempotent, and non-destructive behavior. The description adds a behavioral note that inputs are forwarded as-is without local validation, which goes beyond the annotations. It does not contradict any annotations.

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

Conciseness5/5

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

The description is concise and well-structured, with separate sections for workflow, input contract, and do-not-confuse guidance. Every sentence adds value—there is no fluff or redundant information. The structure makes it easy to scan and understand.

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

Completeness5/5

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

Given the annotations, schema, and the provided URL for the full output/error contract, the description offers sufficient context for an agent to understand what the tool does, what inputs it expects, and how it relates to sibling tools. The output format is partially described (themes and keywords) and response_format parameter covers the rest.

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

Parameters4/5

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

The schema covers 100% of parameters with descriptions for name, date, and response_format, including an enum and default. The description reinforces that name and date are used as-is, adding a small semantic nuance beyond the schema. No parameter is left unexplained.

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

Purpose5/5

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

The description clearly states the tool reduces a name and birth date using the Chaldean system and returns analyses with themes and keywords. It distinguishes itself from similar tools by explicitly naming the Chaldean approach and contrasting with Pythagorean and Lo Shu methods, making the purpose unambiguous.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance through the 'DO NOT CONFUSE WITH' section, naming alternatives and when not to use them (e.g., Pythagorean profile, Lo Shu grid). The AFTER workflow also suggests comparing with the Pythagorean profile when needed, giving clear direction on when to use this tool versus related ones.

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 Dasha
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_chart_strengthChart Strength
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_choghadiyaChoghadiya
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesPlace name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_compatibilityAshtakoota Compatibility
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
person1YesBirth data for a single person.
person2YesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_crystalCrystal LookupA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, which cover the tool's safety profile. The description does not contradict these annotations and adds no behavioral details beyond what annotations provide, so a neutral score is appropriate.

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

Conciseness4/5

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

The description is well-structured with clear sections for workflow, input contract, and confusion avoidance. It is a bit verbose but remains organized and easy to follow. The length is justified by the additional clarifying information.

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

Completeness2/5

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

The description omits any explanation of the 'response_format' parameter, which is present in the schema. Additionally, the schema description for 'name' is incorrect and does not match the purpose or the INPUT CONTRACT. These gaps hinder an agent from fully understanding the tool's inputs and usage context.

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

Parameters1/5

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

The schema description for the 'name' parameter is completely mismatched: it says 'Person's full name as commonly written; letters are converted to numerology values', which contradicts the tool's purpose of looking up a crystal. Although the description text's INPUT CONTRACT correctly states 'crystal slug or display name', the schema description itself is misleading and would cause an agent to misuse the parameter.

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

Purpose5/5

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

The description clearly states the tool looks up a specific crystal by slug or name and returns full details including planetary assignments, healing properties, and safety cautions. It also explicitly distinguishes itself from sibling tools via the 'DO NOT CONFUSE WITH' section, listing alternative crystal-related tools.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool versus alternatives by listing asterwise_get_crystals, asterwise_get_crystal_by_planet, and asterwise_get_gemstone_recommendations as distinct options. It also mentions that this tool can be used standalone or after another tool, giving contextual 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_crystal_by_planetCrystals by Planet
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
planetYesPlanet to find crystals for, e.g. 'Venus' or 'Saturn'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_crystal_recommendationsCrystal RecommendationsA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return.
chakraNoChakra to focus on, e.g. 'heart' or 'third eye'.
intentionNoPurpose for the recommendation, e.g. 'protection', 'focus', 'love'.
zodiac_signNoZodiac sign, e.g. 'Leo'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover readOnly and idempotent hints, so the description does not need to repeat those. It adds behavioral context by stating the sorting logic and offering a response_format parameter, which clarifies output behavior beyond the schema. The output/error contract link provides additional transparency, though no direct side-effect details are needed given the annotations.

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

Conciseness4/5

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

The description is well-structured with clear sections (workflow, input contract, do-not-confuse, output contract). Though somewhat lengthy, every sentence contributes useful information—no fluff. The main recommendation statement is concise, and the additional sections are organized logically.

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

Completeness4/5

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

Provides sufficient context for correct invocation: required filters, output format options, and a link to the full output/error contract. Although the actual output schema is not embedded, the description's mention of markdown/json and the contract URL mitigate the gap. It also clarifies relationships with sibling tools, making the tool's role well-defined.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description enhances this by listing allowed chakra values (Root, Sacral, Solar Plexus, etc.) which are not in the schema enum, and providing concrete examples for intention (protection, abundance, love) and zodiac_sign. It also clarifies the limit default/max, aligning with schema but adding context.

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

Purpose5/5

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

Clearly states the verb 'Recommends' and the resource 'crystals', with specific criteria (zodiac sign, chakra, intention). The 'DO NOT CONFUSE WITH' section explicitly differentiates from sibling tools like asterwise_get_crystal_by_planet and asterwise_get_gemstone_recommendations, making its purpose unambiguous.

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

Usage Guidelines5/5

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

Explicitly states the requirement 'At least one filter is required' and describes the ordering behavior ('matches the most criteria first'). The workflow mentions 'AFTER: asterwise_get_crystal' for subsequent detail retrieval, and the 'DO NOT CONFUSE WITH' lines provide clear when-to-use guidance against alternatives.

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

asterwise_get_crystal_recommendations_natalNatal Crystal RecommendationsA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior4/5

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

The annotations already indicate read-only, idempotent, non-destructive behavior. The description adds useful runtime behavior, such as the sunrise-chart fallback when time is omitted and the 'never pass 00:00' warning. It does not discuss rate limits or auth, but the annotations cover the core behavioral traits.

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

Conciseness5/5

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

The description is well-structured with clear headings and each section serves a distinct purpose: purpose, workflow, input contract, and disambiguation. Despite being detailed, it avoids redundant prose and stays focused on actionable guidance.

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

Completeness5/5

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

The description provides enough context for an agent to decide when to use this tool, what inputs to provide, what defaults apply, and how it differs from closely related crystal and gemstone tools. It also includes a link to the full output/error contract and implies key output fields like match_score and match_reasons.

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

Parameters5/5

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

All schema parameters are described, including nested birth fields like lat/lon with ranges, time with format and special unknown-value semantics, ayanamsa enum meanings, timezone default, and response_format. The description adds practical examples and clarifies edge cases.

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

Purpose5/5

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

The description states a specific action: recommends crystals from a Vedic natal chart using house lordship rules. It also explicitly distinguishes this from zodiac/chakra-based matching, making the tool's purpose unambiguous.

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

Usage Guidelines5/5

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

The description provides a clear workflow with BEFORE/AFTER steps, input contract details, defaults, and a dedicated 'DO NOT CONFUSE WITH' section that differentiates it from several sibling tools. It also links to the full output and error contract.

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

asterwise_get_crystalsCrystals CatalogueA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context: sorted alphabetically, full content list, and a link to the error contract. No contradiction with annotations.

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

Conciseness4/5

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

The description is structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and front-loads the primary purpose. While slightly verbose, every section adds value and is well-organized.

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

Completeness5/5

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

With an output schema present and annotations covering safety, the description is fully complete. It explains the output contents, workflow, alternatives, and provides a documentation link for errors. Nothing an agent needs to call it correctly is missing.

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

Parameters3/5

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

The only parameter response_format is fully documented in the schema with enum and description. Schema coverage is 100%, so the baseline is 3. The description does not mention the parameter, but it doesn't need to since the schema covers it.

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

Purpose5/5

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

The description clearly states the tool returns all 50 crystals sorted alphabetically, with a detailed list of what each entry includes. It distinguishes itself from siblings via the DO NOT CONFUSE WITH section, naming asterwise_get_crystal, asterwise_get_crystal_by_planet, and asterwise_get_crystal_recommendations with their purposes.

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

Usage Guidelines5/5

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

Explicit WORKFLOW section states no prerequisites and names the AFTER tool for filtering by Vedic planet. The DO NOT CONFUSE WITH section explicitly lists alternative tools and their distinct purposes, leaving no ambiguity about when to use this tool versus others.

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

asterwise_get_dashaVimshottari Dasha
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
levelsNoDepth of the Vimshottari tree, 1-5: 1 = Mahadasha only, 2 adds Antardasha (default), 3 Pratyantar, 4 Sookshma, 5 Prana (much larger payload).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_dashakootDashakoot
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
person1YesBirth data for a single person.
person2YesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_dasha_transitsDasha Transits
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_divisional_chartDivisional Chart
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
chart_typeNoDivisional chart to return, D1 to D60. Omit to return all 16 charts.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_doshasDoshas
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_dream_symbolDream SymbolA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds useful behavioral details such as case-insensitive lookup, standalone execution, and the dual-tradition output, which go 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.

Conciseness5/5

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

The description is well-structured with clear sections for workflow, input contract, and sibling-tool distinction. It stays concise while front-loading the core purpose, and the documentation link avoids unnecessary verbosity.

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

Completeness4/5

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

The description provides workflow context, example inputs, a contrast with the sibling tool, and a link to the full output/error contract. It lacks explicit output field details here, but the documentation link and output-schema indication make it sufficient for this read-only lookup.

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

Parameters2/5

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

The input schema's description for 'name' is semantically wrong, describing a person's full name for numerology instead of a dream symbol slug or display name. The surrounding INPUT CONTRACT and examples partially correct this, and response_format is well described, but one of the two parameters is actively misleading.

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

Purpose5/5

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

The description opens with a specific verb ('Lookup'), a specific resource ('dream symbol'), and a clear scope ('by slug or name, case-insensitive'). It also explicitly distinguishes itself from asterwise_get_dream_symbols, making its purpose unambiguous.

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

Usage Guidelines5/5

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

The 'DO NOT CONFUSE WITH' note directly tells the agent when to use this tool versus the full listing tool, and the WORKFLOW section states it is standalone with no prerequisites. Example inputs further clarify the expected name values.

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 Symbols
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoSymbol category to filter by, e.g. 'animals' or 'water'. Omit for all.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_expression_numberExpression NumberA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds meaningful beyond the annotations: it discloses the Goodwin/Balliett per-part method, explains why master numbers are preserved, and clarifies that name parts are reduced separately before summing. It also points to the output/error contract URL, adding behavioral context beyond what annotations and schema convey.

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

Conciseness5/5

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

Organized with clear labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and front-loads the core calculation method in the first sentence. Every section earns its place and the length is appropriate for a tool that needs to distinguish itself among many sibling numerology tools.

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

Completeness5/5

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

Given the output schema exists, the description does not need to explain return values. It covers the calculation method, input requirements, workflow position, sibling distinctions, and error/out contract via a link. There is no missing information that would prevent an agent from selecting and invoking this tool correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds genuine value for the name parameter: full legal name as used at birth, space-separated parts, any case allowed, and a minimum one alphabaetic character constraint. It does not diacuss response_format, but the schema already fully documents that enum and default.

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

Purpose5/5

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

States the specific operation: calculates the Expression/Destiny number from a full name using Pythagorean letter values, with concrete method details (per-part reduction, master number preservation). It also explicitly differentiates itself from sibling numerology tools, so an agent can immediately identify what this tool uniquely does.

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

Usage Guidelines5/5

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

Provides an explicit WORKFLOW section stating it is standalone and names the natural after-step (soul_urge_number). Also has a dedicated DO NOT CONFUSE WITH section listing four sibling tools and the exact condition that makes them alternatives, which is ideal guidance for tool selection.

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

asterwise_get_festival_calendarFestival CalendarA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesFour-digit calendar year, e.g. 2026. Defaults to the current year when omitted.
latitudeNoLatitude in decimal degrees, north positive (e.g. 13.08).
locationNoPlace name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone.
timezoneNoIANA time zone name, e.g. 'Asia/Kolkata'.
longitudeNoLongitude in decimal degrees, east positive (e.g. 80.27).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

The annotations already establish read-only, idempotent, non-destructive behavior, so the description does not need to repeat that. It adds genuine behavioral context: the tool outputs exactly 20 festivals, covers solar and tithi-based events, is standalone, and links to the full output/error contract. It does not discuss rate limits or error specifics, but those are partially covered by the annotations and 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.

Conciseness5/5

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

Front-loads the core behavior and then uses labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that make the definition easy to scan. Every section carries operational information, and the docs link replaces a long enumeration of error cases. There is no filler or tautology.

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

Completeness5/5

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

For a 6-parameter tool with one required field and an output schema, the description supplies the input contract, required-or-alternative parameter groups, output scope, workflow, sibling disambiguation, and a link to the full output/error contract. An agent has everything needed to decide when to use this tool and how to invoke it correctly.

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

Parameters4/5

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

Schema coverage is 100%, which sets the baseline at 3. The description earns additional credit by adding the year range 1900-2100 that the schema omits and by clarifying the mutually exclusive input groups: either location OR latitude + longitude + timezone. These are non-obvious constraints an agent must know to call the tool correctly.

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

Purpose5/5

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

Opens with a specific verb and resource: 'Computes all major Hindu festival dates for a given year and location.' It enumerates exactly what is returned (20 pan-Hindu festivals, including solar sankrantis and tithi-based festivals) and later disambiguates from sibling tools, so an agent can tell it apart from asterwise_get_panchanga_calendar and asterwise_get_muhurta.

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

Usage Guidelines5/5

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

Provides an explicit WORKFLOW section stating no prerequisites and identifying the natural next call (asterwise_get_panchanga). It also includes a DO NOT CONFUSE WITH section naming two siblings and the exact conditions that select them: full Panchanga per day vs festival-specific, and auspicious activity windows vs festival calendar. This is exceptionally clear 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_gemstone_recommendationsGemstone RecommendationsA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds context by specifying that the tool computes from the natal chart, returns a structured set of categories including contraindications and safety notes, and advises confirming the chart before wearing advice. It does not add details on auth or rate limits, but this is not central for a read-only computation tool.

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

Conciseness5/5

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

The main purpose sentence is front-loaded and is followed by compact, labelled sections for workflow, input contract, and exclusions. Each section adds decision-relevant value, and the docs link is a useful escape hatch rather than bloat.

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

Completeness5/5

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

For a complex tool with an output schema, nested birth object, and safety annotations, the description covers the purpose, the output categories, the necessary workflow, and the alternatives to avoid. There is also a link to the full output and error contract, so an agent can resolve any remaining uncertainty. Nothing critical is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents birth and response_format. The description only adds 'BirthData follows the global contract', which adds little beyond the schema. Baseline 3 is appropriate because the schema carries the heavy lifting.

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

Purpose5/5

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

The description uses a specific verb ('Computes'), names the exact resource ('Ratna-style gemstone picks and cautions from the natal chart'), and enumerates the outputs (primary stones, role-based stones, secondary options, contraindications, safety note). It clearly separates itself from sibling remedy tools in the DO NOT CONFUSE section, making tool selection unambiguous.

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

Usage Guidelines5/5

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

The WORKFLOW section explicitly tells the agent to run asterwise_get_natal_chart BEFORE and asterwise_get_remedies AFTER, and the DO NOT CONFUSE section names alternatives and explains what they are not. This is explicit when-to-use and when-not-to-use guidance.

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

asterwise_get_ghat_chakraGhat ChakraA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds behavioral context beyond annotations: it clarifies that Moon sign is computed from birth data, that no prior setup is needed, and that the result is a static lookup rather than a daily score. It also links to the full output and error contract.

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

Conciseness5/5

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

The description is organized into labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE) with the core purpose front-loaded. Each section adds distinct value, and the documentation link is compact. There is no filler or repetition of schema details.

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

Completeness5/5

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

For a read-only lookup with a full input schema, an output schema, and safety annotations, the description covers prerequisites, follow-up usage, sibling disambiguation, and points to the full output/error contract. Nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by stating that the birth object is the sole input and that Moon sign is derived from it, which is not explicit in the schema. The INPUT CONTRACT also summarizes the relevant birth fields (date, time, lat, lon, timezone).

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

Purpose5/5

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

States a specific verb ('Returns'), a specific resource ('four Ghatak (inauspicious) timing parameters'), and the basis ('Janma Rasi (natal Moon sign)'). The DO NOT CONFUSE section explicitly separates it from asterwise_get_nakshatra_prediction and asterwise_get_panchanga, so an agent can distinguish it from siblings.

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

Usage Guidelines5/5

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

The WORKFLOW section explicitly states no prerequisites ('BEFORE: None') and recommends a follow-up tool ('AFTER: asterwise_get_nakshatra_prediction') for daily auspiciousness. DO NOT CONFUSE names two alternatives and explains why they differ, giving clear when-to-use guidance.

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

asterwise_get_gocharGochar
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
target_dateNoDate in YYYY-MM-DD format. Defaults to today when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_horaHoraA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesPlace name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering safety and side-effect transparency. The description is consistent with these annotations—'Builds' implies generating calculations without modifying any stored state. No contradiction.

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

Conciseness4/5

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

The description is well-organized with clear headers (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and stays focused. It is slightly longer than necessary but every section adds value, especially the disambiguation from siblings.

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

Completeness3/5

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

The description explains the core purpose and output tags, but it fails to resolve the location parameter conflict and does not clarify how the date/timezone/lat/lon interplay works. The response_format field is referenced only in the schema, not explained. Overall, enough for basic use but gaps remain due to the location ambiguity.

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

Parameters2/5

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

The location parameter description says 'Place name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone.' but the schema requires lat, lon, and date as required properties within an object. This directly conflicts—an agent would be confused whether to pass a string or an object. The individual field descriptions are clear, but the top-level parameter semantics are misleading.

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

Purpose5/5

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

The description clearly states the specific verb 'Builds', the resource 'twenty-four planetary Horas', the scope 'between successive sunrises for a location date', and the output details (ruler, quality text, current status). It also differentiates from sibling tools like choghadiya and natal chart.

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

Usage Guidelines5/5

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

The WORKFLOW section explicitly says it is standalone and points to asterwise_get_choghadiya as an alternative same-day slot system. The DO NOT CONFUSE WITH section clearly distinguishes Horas from choghadiya (16 vs 24 segments) and natal chart, giving agents 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_horoscopeMoon Sign HoroscopeA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
periodYesHoroscope period: daily, weekly, monthly or yearly.
moon_signYesVedic moon sign (rashi), e.g. 'Vrishabha' or 'Taurus'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior; the description adds that this is an AI-synthesised editorial horoscope, returns structured guidance fields plus model/period metadata, and that response_format only controls rendering between markdown and JSON. It also references a full output/error contract URL, providing meaningful behavior beyond the annotations.

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

Conciseness4/5

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

The description is longer than minimal, but every section earns its place: purpose, workflow, input contract, disambiguation, and documentation link. The structure is clear and front-loaded with the core purpose before supporting details, making it efficient despite its length.

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

Completeness5/5

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

Given the output schema exists, the description appropriately focuses on selection, input constraints, disambiguation, and the contract URL for full output/error details. It covers before/after workflow and alternatives, so an agent has everything necessary to invoke the tool correctly in context.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is already strong, but the description adds genuine value by expanding moon_sign to include Sanskrit and English rashi names, clarifying that period is constrained to the schema enum, and specifying that response_format only selects rendering mode. This helps an agent understand valid inputs beyond the basic schema descriptions.

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

Purpose5/5

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

States a clear, specific action: fetches an AI-synthesised Moon-sign horoscope for a chosen horizon, and distinguishes the resource and deliverable from sibling tools. The 'DO NOT CONFUSE WITH' section explicitly contrasts it with asterwise_get_natal_chart and asterwise_get_gochar, so an agent can select it correctly.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance via WORKFLOW and DO NOT CONFUSE sections, naming the exact sibling tools and their purposes. It also notes that a personalized chart should use asterwise_get_natal_chart, giving clear exclusion criteria.

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

asterwise_get_karmic_lessonsKarmic LessonsA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds transparency about error handling by linking to a full output and error contract, and it explains the computation process (scanning letters, converting to values). No contradictions with annotations.

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

Conciseness4/5

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

The description is longer than average but well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH). The example inside INPUT CONTRACT repeats some information from the opening sentence, but the overall organization aids readability and avoids being unnecessarily verbose.

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

Completeness4/5

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

Given that an output schema is reported as present (context signal), the description does not need to explain return values. It does point to a full output and error contract URL for additional details, and the workflow section places the tool in a broader context. This is sufficient for an agent to invoke it correctly.

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

Parameters4/5

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

Schema descriptions cover both parameters with 100% coverage, so the baseline is 3. The main description goes further by providing a concrete example ('Arjun Mehta') that illustrates how the name is processed, which adds practical semantic clarity beyond the schema text. The response_format enum is also clearly documented.

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

Purpose5/5

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

The description clearly states the tool's specific function: identifies karmic lessons by scanning all letter values in a full name and finding missing digits 1–9. It explicitly distinguishes from sibling tools by noting that balance number uses only first initials and expression number reduces to a single digit, preventing confusion.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use context via the workflow section (standalone, before numerology profile) and a 'DO NOT CONFUSE WITH' section that names specific alternatives and explains the exact differences (initials vs all letters, reduced vs absent digits). This gives clear guidance on selecting this tool over related options.

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

asterwise_get_kp_chartKP Chart
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_kp_ruling_planetsKP Ruling Planets
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
latYesLatitude in decimal degrees, north positive (e.g. 13.08).
lonYesLongitude in decimal degrees, east positive (e.g. 80.27).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_kp_significatorsKP Significators
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
house_numberNoHouse number 1-12. Omit to cover all twelve houses.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_lal_kitab_chartLal Kitab Chart
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_lal_kitab_remediesLal Kitab Remedies
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_lo_shu_gridLo Shu GridA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

The annotations already declare readOnly, idempotent, non-destructive, and openWorld=false. The description adds that it is standalone and that input is validated upstream, providing a small amount of extra context about side effects and error handling. However, the description does not elaborate on output behavior or error responses, so the added transparency is modest.

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

Conciseness4/5

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

The description is well-structured with clear sections (description, workflow, input contract, do-not-confuse, link). The main functionality is stated in one concise sentence, and the additional sections are brief and purposeful. It is slightly longer due to the exclusions, but remains efficient overall.

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

Completeness3/5

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

The description mentions the key outputs (planes, missing/repeated digits, per-digit traits) and provides a link to the full output and error contract. However, the output schema is not included in the prompt, and the description does not explain the output structure beyond those annotations, nor does it elaborate on error cases. The link helps but is not directly accessible.

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

Parameters2/5

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

The schema states 'date' is required, but the description says 'Defaults to today when omitted' – a direct contradiction. Additionally, the 'INPUT CONTRACT' line says 'date string only' while the schema includes a second parameter, response_format. This inconsistency and omission undermine the clarity of the two parameters, despite the schema descriptions being otherwise clear.

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

Purpose5/5

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

The description clearly states the tool's function: deriving a Lo Shu three-by-three frequency grid from birth-date digits and annotating planes, missing/repeated digits, and per-digit traits. It also explicitly distinguishes itself from two similar siblings (numerology profile and name correction) by contrasting letter-based vs digit-based methods, making its purpose unmistakable.

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

Usage Guidelines4/5

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

The 'DO NOT CONFUSE WITH' section gives explicit when-not-to-use guidance for two closely related tools (numerology profile and name correction), and the workflow section notes it is standalone. This helps an agent select the correct tool among many siblings, though it does not exhaustively list all alternative cases.

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 NumbersA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already establish that the tool is read-only, idempotent, and non-destructive. The description adds useful context beyond those annotations by noting the payload is 'condensed', that inputs are forwarded upstream without local checks, and by linking to the full output/error contract. This is meaningful additional transparency, though not exhaustive.

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

Conciseness5/5

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

The description is well-structured with labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that each add distinct value. The main purpose is front-loaded in the first sentence, and there is no filler or redundant restating of schema details.

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

Completeness5/5

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

The description is complete for a tool of this complexity: it explains the standalone workflow, the follow-up path, sibling disambiguation, input forwarding behavior, and provides an external contract link. An output schema exists, so return-value details are already covered, and the annotations handle the safety profile. Nothing essential is missing.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all three parameters with descriptions. The description adds only generic context ('name and birth date') and does not meaningfully enrich 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.

Purpose5/5

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

The description opens with a specific verb ('Fetches') and clearly defines the resource: condensed lucky-number guidance for a name and birth date. It enumerates the payload contents (primary/secondary picks, power number, interpretation, date_specific flag), and explicitly distinguishes the tool from likely siblings.

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

Usage Guidelines5/5

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

The WORKFLOW section states that this tool is standalone and points to asterwise_get_numerology_profile as the follow-up when deeper context is needed. The DO NOT CONFUSE WITH section names two alternatives and explains exactly why they are not the same, giving clear when-to-use and when-not-to-use guidance.

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

asterwise_get_maturity_numberMaturity NumberA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

The annotations (readOnlyHint, idempotentHint, destructiveHint) already cover the key behavioral aspects, and the description is consistent with them. The description adds some context about the calculation process but does not introduce any contradictions, so it slightly adds value 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.

Conciseness4/5

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

The description is well-structured with clear sections for workflow, input contract, and distinctions, but it duplicates some information already present in the schema (e.g., the input contract). It is not overly verbose and provides necessary guidance, though it could be slightly more concise.

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

Completeness3/5

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

The description provides sufficient context about the tool's purpose and its relationship to other numerology tools, but the ambiguity around the required/optional nature of the 'date' parameter could lead to misuse. Given the complexity and many sibling tools, this is a notable gap that reduces completeness.

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

Parameters2/5

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

Although the schema covers all three parameters with descriptions, there is an internal inconsistency: the 'date' parameter's description states it 'Defaults to today when omitted' while the required array lists it as required. This ambiguity is not resolved in the main description, creating confusion about whether the date must be supplied.

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

Purpose5/5

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

The description clearly states that the tool calculates the Maturity number, which is the sum of Life Path and Expression numbers, and explains its meaning. It distinguishes itself from similar numerology tools like asterwise_get_numerology_profile and asterwise_get_personal_cycles, providing explicit differentiation.

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

Usage Guidelines5/5

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

The description includes a 'WORKFLOW' section that recommends running asterwise_get_numerology_profile first to confirm Life Path and Expression numbers, and a 'DO NOT CONFUSE WITH' section that clarifies differences from two other tools. This gives explicit guidance on when and how to use the tool relative to alternatives.

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

asterwise_get_muhurtaMuhurtaA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
to_dateYesEnd of the search window for auspicious times, YYYY-MM-DD.
activityYesActivity to find an auspicious time for, e.g. 'marriage', 'travel', 'business opening'.
locationYesPlace name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone.
from_dateYesStart of the search window for auspicious times, YYYY-MM-DD.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the description's job is to add what they don't cover. It does: the tool is standalone, activity values are not validated locally with bad slugs surfacing as MCP INTERNAL_ERROR, and from_date/to_date ordering plus span rules are enforced upstream. It also links the full output/error contract, covering the remaining behavioral surface.

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

Conciseness5/5

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

The purpose is front-loaded in the first sentence, then the rest is organized into terse, clearly labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) plus a single docs link. Every section carries distinct, decision-relevant information with no filler; the only minor wart is the slightly ambiguous 'slugs above' reference.

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

Completeness4/5

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

For a tool with 4 required parameters, a nested location object, and an existing output schema, the description covers the essential decision surface: purpose, standalone workflow, follow-up step, parameter error behavior, and sibling disambiguation. The unenumerated activity slug list and unspecified span rules are the only real gaps, and both are mitigated by the docs link and schema examples.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, and the description pushes above it by adding error and validation semantics: activity must match a supported English slug and is not validated locally, and date-ordering/span rules are enforced upstream. The main shortfall is that the supported slugs are referenced ('above') rather than enumerated, leaving the agent to infer them from schema examples.

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

Purpose5/5

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

The opening sentence names a specific verb ('Searches'), a distinct resource (a date span for top-scoring muhurta windows for a named activity), the astrological inputs (Panchanga, Choghadiya, classical siddhi flags), and a location. The 'DO NOT CONFUSE WITH' block explicitly differentiates it from asterwise_get_choghadiya and asterwise_get_panchanga, so an agent can identify this tool without opening any schema.

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

Usage Guidelines5/5

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

The WORKFLOW section states the tool is standalone (no BEFORE prerequisite) and names asterwise_get_panchanga as the AFTER step for drilling into limb detail, giving explicit sequential guidance. The 'DO NOT CONFUSE WITH' section names both confusable siblings and states the discriminating conditions — single-day enumeration without activity scoring (choghadiya) versus unranked single-day limb detail (panchanga) — which effectively tells the agent 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_nakshatra_detailsNakshatra Details
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
nakshatra_nameYesNakshatra name, e.g. 'Rohini' or 'Uttara Phalguni'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_nakshatra_predictionNakshatra PredictionA
Read-only
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
target_dateNoDate in YYYY-MM-DD format. Defaults to today when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already mark it read-only and non-destructive; the description adds that it computes from birth data and points to a full output/error contract. No contradictions with the annotations.

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

Conciseness4/5

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

The description is well structured with WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, and a link to the full contract. Purpose is front-loaded; some repetition with the schema exists but it is not excessive.

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

Completeness4/5

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

The description covers purpose, workflow, key input defaults, sibling distinctions, and directs users to the full output/error contract. Since an output schema exists, detailed return-value explanation is not required.

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

Parameters3/5

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

Schema coverage is 100% and every parameter already has descriptions, defaults, formats, and enums. The prose input contract mostly restates the schema and omits response_format and ayanamsa, so it adds little beyond what the schema provides.

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

Purpose5/5

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

Description opens with 'Returns a personalised daily prediction using Tarabala and Chandrabala', giving a specific verb, resource, and method. It also explicitly names sibling tools not to confuse with, making its scope unmistakable.

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

Usage Guidelines5/5

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

The description provides explicit when-not-to-use guidance via 'DO NOT CONFUSE WITH' for nakshatra_details, panchanga, and biorhythm, and adds a workflow note that panchanga should follow for full daily context. This clearly distinguishes it from alternatives.

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

asterwise_get_name_correctionName CorrectionA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already disclose readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the description does not need to repeat these. The description adds useful context like 'upstream validates' and 'echoes recommendation stub fields,' which aligns with a non-modifying operation. No contradictions exist between the description and annotations, and the description does not introduce any misleading side-effect claims. However, it does not explicitly describe potential errors or rate limits, but annotations reduce 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.

Conciseness4/5

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

The description is compact and well-organized, using clear section headers (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) to separate purpose, prerequisites, and disambiguation. It front-loads the primary purpose in the first sentence and avoids redundant elaboration. The inclusion of a link to the full output/error contract keeps the description concise while providing access to deeper details. It is slightly verbose with multiple sections, but each contributes to usability.

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

Completeness4/5

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

The description is complete for an agent to understand the tool's role within the larger context of sibling tools. It provides workflow context (recommended predecessor), clarifies boundaries versus similar tools, and points to a full output/error contract. Since an output schema is indicated (has output schema: true), the description does not need to enumerate return fields; however, the phrase 'echoes recommendation stub fields' is somewhat ambiguous and could benefit from a brief explanation, but the link covers details.

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

Parameters3/5

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

Schema description coverage is 100% for all three parameters (name, date, response_format), each with detailed descriptions. The description merely restates the schema constraints ('name and date strings only; upstream validates') without adding additional meaning beyond what is already in the input schema. For example, the schema already explains that name letters are converted to numerology values and that date defaults to today. Since coverage is high and the description does not introduce new semantics, a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's function: 'Scores the current spelling of a personal name against the birth-date Life Path, suggests alternate spellings with harmony metrics, and echoes recommendation stub fields.' This provides a specific verb (scores, suggests, echoes), a specific resource (personal name, birth-date Life Path), and distinguishes it from related tools via the 'DO NOT CONFUSE WITH' section (e.g., business_name_analysis for entities, chaldean_numerology for Chaldean compounds).

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

Usage Guidelines5/5

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

The description gives explicit when-to-use guidance by naming sibling tools and contrasting them: '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.' It also specifies a recommended preceding workflow: 'BEFORE: RECOMMENDED — asterwise_get_numerology_profile — baseline numbers before renaming advice.' This tells an agent exactly when to use this tool and when to choose alternatives.

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 Chart
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown
include_interpretationNoInclude a written interpretation alongside the chart data.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_number_meaningNumber Meaning
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesNumber to interpret: 1-9, or a master number 11, 22 or 33.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_numerology_compatibilityNumerology CompatibilityA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
person1_dateYesFirst person's date of birth, YYYY-MM-DD.
person1_nameYesFirst person's full name.
person2_dateYesSecond person's date of birth, YYYY-MM-DD.
person2_nameYesSecond person's full name.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already mark the tool read-only, idempotent, and non-destructive. The description adds valuable behavioral context: the four strings are passed through without local guards, and a sanity-check workflow is advised, plus a link to the full output/error contract. It stops short of detailing error cases but the external contract covers that.

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

Conciseness5/5

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

The description is tightly organized into first-sentence summary, WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and a docs link. Every section earns its place and there is no filler or repetition of schema details.

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

Completeness5/5

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

With output schema present, annotations covering safety, and a description that includes workflow prerequisites, input caveats, sibling distinctions, and an external contract link, the agent has everything needed to select and invoke this tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents formats for the four name/date parameters. The description adds meaning by clarifying that all four strings pass through without local guards and that the Life Paths are derived from names and birth dates. It also signals the response_format enum through the JSON/markdown phrasing in the schema without needing duplication.

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

Purpose5/5

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

The first sentence states the specific action, 'Compares two people on Pythagorean Life Path numbers' and lists the returned artifacts: score, tier, narrative, strengths, challenges, advice. It clearly difers from siblings by naming what it is not. This exceeds basic clarity.

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

Usage Guidelines5/5

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

The WORKFLOW section explicitly recommends calling asterwise_get_numerology_profile per person before comparing, and the DO NOT CONFUSE WITH section names the two nearest alernatives and their distinguishing conditions. This gives an agent concrete routing guidance beyond mere inference.

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

asterwise_get_numerology_profileNumerology ProfileA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, and non-destructive behavior. The description adds useful context about validation failures ('malformed payloads fail upstream') and points to a full error contract via URL, going beyond the annotation baseline without contradiction.

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

Conciseness4/5

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

The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE), but it is longer than necessary and repeats some schema content (e.g., date format). It earns a 4 for organization and clarity despite minor redundancy.

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

Completeness5/5

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

Fully situates the tool within a large numerological suite by distinguishing it from similar tools, documents its output components, and provides a link to the complete documentation and error contract. An agent has enough context to select and invoke it correctly without ambiguity.

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

Parameters3/5

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

Schema descriptions cover 100% of parameters with clear meaning (date format, name conversion, response_format enum). The description itself does not add extra parameter-specific details beyond the schema, so it stays at the baseline warranted by full schema coverage.

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

Purpose5/5

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

States a specific verb ('Builds'), resource ('Pythagorean numerology profile'), inputs ('legal name and birth date'), and outputs ('core numbers, cycles, lucky digits, and summary copy'). Explicitly differentiates from Chaldean numerology and lucky-numbers-only tools in the DO NOT CONFUSE section.

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

Usage Guidelines5/5

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

Provides explicit workflow context (BEFORE/AFTER) naming a related tool and when to use it (to fill Personal Year). Lists alternative tools with clear differentiators, giving unambiguous when-to-use versus when-not-to-use guidance.

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

asterwise_get_panchangaPanchanga
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesPlace name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_panchanga_calendarPanchanga CalendarA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
calendarYesMonthly Panchanga calendar parameters.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

The description accurately conveys a read-only, idempotent retrieval operation and points to an external full output/error contract. The readOnlyHint and idempotentHint annotations are not contradicted; the description adds useful detail about the monthly row-oriented return shape.

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

Conciseness4/5

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

The description is reasonably concise and front-loaded with the core purpose. Some redundancy exists between the AFTER workflow note and the DO NOT CONFUSE WITH line, but it is not excessive and reinforces the key distinction.

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

Completeness5/5

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

The description provides enough context for correct use: the output shape, the distinction from the single-day tool, input validation, timezone behavior, and a link to the full contract. Given the rich input schema and sibling context, nothing essential is missing.

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

Parameters4/5

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

The input schema covers all parameters with ranges and defaults, and the description adds that year/month/lat/lon are validated locally and that timezone handling follows upstream response fields. response_format is not described, but the schema provides its enum and default.

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

Purpose5/5

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

The description clearly states the tool returns one row per civil day for a calendar month at a location, with condensed Panchanga fields. It also explicitly distinguishes itself from asterwise_get_panchanga, the single-day detailed version, so an agent can select the right sibling tool.

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

Usage Guidelines5/5

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

The description provides explicit before/after workflow guidance and a direct 'DO NOT CONFUSE WITH' warning identifying asterwise_get_panchanga as the single-day alternative. This makes it clear when to use this monthly calendar tool versus a more detailed daily lookup.

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

asterwise_get_papasamyamPapasamyam
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
person1YesBirth data for a single person.
person2YesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_personal_cyclesPersonal CyclesA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dayNoDay of the month 1-31. Defaults to today when omitted.
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
yearNoFour-digit calendar year, e.g. 2026. Defaults to the current year when omitted.
monthNoMonth number 1-12. Defaults to the current month when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

The annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) already establish the tool's safety profile. The description adds transparency by stating 'WORKFLOW: BEFORE: None — standalone', indicating no prerequisites or side effects, and consistently says 'Returns' without implying any mutation. The 'standalone' statement goes beyond the annotations, reinforcing idempotent/read-only behavior.

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

Conciseness3/5

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

The core description is concise and front-loaded. However, the full description includes lengthy 'INPUT CONTRACT' and 'WORKFLOW' sections that largely duplicate information already present in the input schema. The 'DO NOT CONFUSE WITH' section is useful but could be integrated more tightly. The overall text is longer than necessary, with some redundancy between the written description and the schema, reducing conciseness.

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

Completeness4/5

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

The description provides the essential context: what the tool returns (three cycle numbers), how they are derived (from birth date and target date), and how to use optional parameters. It also points to a full external contract via the provided link. It does not describe error handling or response structure, but the presence of an output schema (not shown here) and the external docs reference largely compensate. The tool is sufficiently contextualized for basic use.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description's 'INPUT CONTRACT' section adds concrete examples (e.g., '1985-11-12', '2026', '5', '1') and clarifies nuanced behavior such as 'Personal Day is only returned when day is provided. Defaults to null (Personal Day omitted).' This goes beyond the schema descriptions by providing usage examples and edge-case behavior, adding practical meaning for the agent.

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

Purpose5/5

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

The description clearly states the tool's primary function: 'Returns the Personal Year, Personal Month, and Personal Day numbers for a given birth date and optional target date.' It identifies the specific output (three cycle numbers) and the input (birth date + optional target date). The 'DO NOT CONFUSE WITH' section explicitly distinguishes it from asterwise_get_personal_year and asterwise_get_numerology_profile, making its unique purpose unambiguous.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance by contrasting with sibling tools: 'asterwise_get_personal_year — returns Personal Year only, no month or day breakdown' and 'asterwise_get_numerology_profile — core name numbers; personal_year field is null there.' This directly tells the agent when to choose this tool over the alternatives. It also explains the optional parameters (year, month, day) and their defaults, clarifying the intended use cases.

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

asterwise_get_personality_numberPersonality NumberA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. The description adds meaningful behavioral detail beyond annotations: which letters count, Y always treated as a consonant, per-name-part reduction, and preservation of master numbers 11, 22, and 33. This is precisely the kind of algorithm-level context an agent needs.

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

Conciseness5/5

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

The description is well-structured with clear sections: calculation overview, WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and a docs link. It is front-loaded with the essential calculation rule and contains no filler; the only small redundancy is restating the Y rule, but it remains useful as an input contract reminder.

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

Completeness5/5

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

Given an output schema exists, the description does not need to explain return values. It covers the input contract, examples, master-number behavior, workflow placement, sibling disambiguation, and includes a URL to the full output/error contract. Nothing essential is missing for correct selection and invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is adequate. The description enriches the name parameter with a fuller contract ('Full legal name as used at birth'), concrete examples, and the Y-is-always-a-consonant rule. However, this slightly conflicts with the schema's 'as commonly written' wording, creating minor ambiguity about which name form is authoritative.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Calculates the Personality number from consonants in the full name.' It further differentiates from the most similar siblings by naming the Expression number (all letters) and Soul Urge number (vowels only). This makes the tool's purpose unambiguous.

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

Usage Guidelines5/5

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

The WORKFLOW section explicitly says the tool is standalone BEFORE and points to asterwise_get_numerology_profile AFTER for seeing all five core numbers together. The 'DO NOT CONFUSE WITH' section names the exact alternatives and what distinguishes them, giving an agent clear when-to-use and when-not-to-use guidance.

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

asterwise_get_personal_yearPersonal Year
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate in YYYY-MM-DD format. Defaults to today when omitted.
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_pitra_doshaPitra DoshaA
Read-only
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds useful behavioral context on top: it confirms birth data alone computes everything, mentions the exact classical combinations covered, and links to a full output/error contract. It does not contradict annotations.

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

Conciseness4/5

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

The description is structured with WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections, making it easy to scan. It includes a documentation URL for full details. It is slightly more verbose than strictly necessary, but every section earns its place.

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

Completeness5/5

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

The description covers prerequisites (none), downstream workflow, sibling disambiguation, and points to a full output/error contract URL. Combined with the rich input schema, annotations, and output schema, the agent has everything needed to select and invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema itself documents all parameters and nested properties. The description only restates the birth contract at a high level and does not add new meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific action and resource: 'Detects and analyses Pitru Dosha' using all five classical combinations. It also explicitly differentiates itself from asterwise_get_doshas, saying that sibling returns less detail. This makes the tool's purpose unmistakable.

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

Usage Guidelines5/5

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

The description gives explicit routing guidance: 'DO NOT CONFUSE WITH asterwise_get_doshas' and 'Use this tool when dedicated Pitru Dosha analysis is needed.' It also provides a workflow context, noting that puja suggestions come after via asterwise_get_puja_suggestions. This is strong, actionable usage guidance.

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

asterwise_get_planet_naturePlanet NatureA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
planetNoPlanet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: it is a standalone reference tool, follows classical Vedic tradition, and can return either all planets or one planet; it also links to the full output and error contract. It adds value beyond the annotations without contradicting them.

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

Conciseness5/5

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

The description is organized into short, labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE) with the core purpose front-loaded in the first sentence. Every section earns its place by aiding tool selection or invocation, and the formatting makes scanning easy despite the large sibling list.

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

Completeness5/5

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

For a simple, read-only reference tool with two optional parameters and an output schema, the description is complete: it states purpose, input contract, workflow context, sibling disambiguation, and points to the full output/error contract via URL. Nothing an agent needs to select or invoke this tool correctly is missing.

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

Parameters4/5

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

Schema description coverage is 100%, but the description adds meaning for the 'planet' parameter by enumerating all nine allowed values and explicitly stating that omitting it returns all planets. The 'response_format' parameter is already well-explained by the schema enum, so the description does not need to repeat it.

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

Purpose5/5

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

The description uses a specific verb ('Returns') and resource ('classical graha (planet) properties'), and clearly scopes the operation to 'all nine planets or a single planet'. The 'DO NOT CONFUSE WITH' section explicitly distinguishes it from puja suggestions and rudraksha recommendations, making sibling differentiation strong.

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

Usage Guidelines5/5

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

The WORKFLOW section states there is no prerequisite ('BEFORE: None') and names the natural follow-up tool ('AFTER: asterwise_get_puja_suggestions'). The 'DO NOT CONFUSE WITH' block explicitly names alternatives and why they are different, giving clear when-to-use versus when-not-to-use guidance.

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

asterwise_get_poruthamPorutham
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
person1YesBirth data for a single person.
person2YesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_prashna_chartPrashna Chart
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
prashnaYesPrashna (horary) query parameters.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_puja_suggestionsPuja SuggestionsA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
planetNoPlanet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior, and the description adds useful behavioral context such as omitting planet returns all nine ggrahas and positioning pujas as complementary to rudraksha. The link to the full output/error contract handles the remaining behavioral disclosure without cluttering the text.

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

Conciseness5/5

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

The description is front-loaded with a crisp purpose sentence and uses labeled short sections such as WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE, so an agent can scan quickly. Every section carries distinct information and there is no filler or repetition of schema/annotation values.

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

Completeness5/5

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

For a tool with an output schema and safety annotations, the description covers workflow context, parameter semantics, sibling disambiguation, and points to the full contract. An agent choosing between this and any of the many siblings has enough context to route correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description still adds a complete enumeration of the nine allowed planet values plus the omit-for-all behavior, which the schema only hints at with examples. The response_format parameter is already fully described in the schema, so no further prose is needed.

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

Purpose5/5

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

The first sentence states a specific verb and resource: 'returns puja (ritual worship) recommendations for planetary propitiation per ggraha'. The 'DO NOT CONFUSE' section explicitly separates it from asterwise_get_remedies and asterwise_get_rudraksha, making the purpose unambiguous even among many siblings.

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

Usage Guidelines5/5

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

WORKFLOW provides explicit before/after tool relationships: natal chart first, rudraksha after, and the DO NOT CONFUSE section names the closest alternatives. The INPUT CONTRACT also tells the agent when to omit planet versus supply a specific ggraha.

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

asterwise_get_rahu_kaalRahu KaalA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesPlace name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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 those: it computes three kaal bands, depends on location and date, and includes a local-time 'active now' check. It could mention more about error behavior, but the docs link and output schema cover some of 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.

Conciseness5/5

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

The description is organized into distinct, purposeful sections: core behavior, workflow, input contract, exclusions, and documentation link. The central behavior is front-loaded, and no sentence is filler or tautology.

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

Completeness4/5

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

For a nested-location tool with an output schema and strong annotations, the description is nearly complete: it covers workflow, sibling differentiation, validation behavior, and points to the full contract. It loses a point because the ambiguous 'place name' alternative in the location schema is not clarified in the description, and the exact required coordinates/date are only implicitly referenced.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The INPUT CONTRACT adds modest value by noting that LocationInput validates the date pattern and coordinates locally. However, the description does not resolve the schema's confusing 'location' property description that mentions a place-name alternative while the schema actually requires lat, lon, and date.

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

Purpose5/5

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

The first sentence names three specific outputs (Rahu Kaal, Gulika Kaal, Yamaganda Kaal intervals) plus an active-now status flag, and ties the computation to diurnal length and location. The DO NOT CONFUSE section explicitly distinguishes it from choghadiya and panchanga, so an agent can identify it without opening the schema.

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

Usage Guidelines5/5

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

WORKFLOW states this tool is standalone with no prerequisite, and AFTER names choghadiya as the broader alternative. DO NOT CONFUSE further gives two exclusions with reasons, 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_remediesRemediesA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already indicate readOnly/idempotent/non-destructive. Description adds a full output/error contract URL and clarifies it returns tables, which is consistent. No contradictions; the error contract link provides extra context beyond annotations.

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

Conciseness4/5

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

Description is somewhat verbose with multiple labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, plus a URL). However, the sections are structured and each adds distinct value; the main purpose is front-loaded. Slightly wordy but acceptable for the complexity.

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

Completeness5/5

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

Given the tool's complexity (nested birth object, two parameters, many siblings), the description is complete: it provides workflow context, clarifies input contract, contrasts with similar tools, and points to full output/error documentation. An agent has enough information to use this tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%—every field and sub-field has a detailed description with examples. The description adds no new parameter semantics beyond the 'BirthData follows the global contract' note, which simply references a shared structure already fully documented in the schema. Baseline 3 applies due to high schema coverage.

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

Purpose5/5

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

States precisely what it does: derives classical remedial prescriptions from planetary weakness and dusthana lordship, returning mantra, lifestyle, charity, and dignity tables. Explicitly contrasts with sibling tools (lal_kitab_remedies and gemstone_recommendations) to avoid confusion.

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

Usage Guidelines5/5

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

Provides explicit workflow guidance: recommends getting natal chart first and optionally following with gemstone recommendations. Also clearly states what this tool is NOT for (household Lal Kitab totkas, gemstone-only), giving clear when-to-use vs. when-not-to-use guidance.

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

asterwise_get_rudrakshaRudrakshaA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
planetNoPlanet name in English, e.g. 'Jupiter', 'Saturn', 'Rahu'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description need not repeat those. It adds context by specifying the workflow dependency, the behavior when planet is omitted ('Omit to get all nine planets'), and points to a full output/error contract. This exceeds the annotation baseline without contradicting it.

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

Conciseness5/5

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

The description is tightly structured and front-loaded with a one-sentence purpose. The WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE WITH sections are scannable and each adds distinct value. There is no filler or redundant restating of the schema.

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

Completeness5/5

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

Given the read-only idempotent annotations, optional parameters, and available output schema, the description is complete enough for an agent to invoke the tool correctly. It covers prerequisites, parameter values, sibling disambiguation, and points to the full output/error contract. No critical contextual gap remains.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description goes further by enumerating the exact allowed planet values (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu) and explaining the omission behavior, which the schema does not fully specify. This adds meaningful guidance beyond the parameter descriptions.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Returns Rudraksha bead recommendations per planet.' It clearly scopes the tool to per-planet bead recommendations and explicitly contrasts it with gemstone and puja tools in the 'DO NOT CONFUSE WITH' section, making sibling differentiation strong.

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

Usage Guidelines5/5

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

The WORKFLOW section explicitly names the prerequisite tool (asterwise_get_natal_chart) and explains why it should be called first: to identify planets needing support. It also names two similar-sounding tools and clarifies why they are not appropriate, giving the agent explicit selection guidance.

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

asterwise_get_soul_urge_numberSoul Urge NumberA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson's full name as commonly written; letters are converted to numerology values.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior, so the bar for additional disclosure is lower. The description adds meaningful algorithmic transparency by specifying that Y is always a consonant and that master numbers 11, 22, 33 are preserved, which helps the agent anticipate results. It does not detail failure modes, but the output schema and linked docs likely cover those.

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

Conciseness4/5

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

The description is well-structured with separate sections for purpose, workflow, input contract, and disambiguation. It is concise overall, but there is minor redundancy: the Y-as-consonant rule appears in both the main description and the input contract. Still, the structure aids readability and no unnecessary fluff is present.

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

Completeness4/5

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

The description includes all necessary context for correct invocation: the input format, the output format options, a link to the full output/error contract, and clear differentiation from similar tools. Given the tool's relative simplicity and the presence of an output schema (per context signals), the description is sufficiently complete for an agent to use it correctly.

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

Parameters4/5

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

The schema covers 100% of parameters with descriptive text, providing a baseline of 3. The tool description adds extra semantic value by clarifying the 'name' parameter as the full legal name at birth and emphasizing the vowel rule, which is not fully captured in the schema description. This pushes the score above baseline.

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

Purpose5/5

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

The description precisely states the tool calculates the Soul Urge number from vowels in the full name, naming the specific resource and verb. It further distinguishes it from sibling tools by explicitly contrasting with expression (all letters) and personality (consonants) numbers, making it clear which tool to select.

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

Usage Guidelines5/5

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

The description gives explicit usage guidance by naming the tools not to confuse with (expression and personality numbers) and clarifies the vowel-only vs. all-letters vs. consonants distinction. It also indicates a follow-up tool (personality number) to complete the name trinity, providing clear when-to-use and when-not-to-use context.

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

asterwise_get_special_ascendantsSpecial AscendantsA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

The annotations already establish readOnly, idempotent, and non-destructive behavior, but the description adds major behavioral context: it calls upstream endpoints sequentially, merges payloads, and returns a top-level wrapper with nested data fields rather than a flat root. WARNING about nested .data fields and a link to the full output/error contract go well beyond what annotations provide.

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

Conciseness5/5

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

The description is organized into labeled WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections, and every sentence carries unique information. The key facts are scoped the composite call and output shape, are presented immediately, and the sibling disambiguation is efficient without verbosity.

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

Completeness5/5

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

Given the tool's composite nature, the readOnly/idempotent annotations, and the presence of an output schema, the description covers all important invocation concerns: prerequisite call, post-tool behavior, nested output shape, and to full contract documentation. The agent has everything needed to call the tool correctly and parse its response.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already fully documents birth fields, response_format, defaults, constraints, enums, and formats. The description only refers to 'one BirthData' and does not add per-parameter meaning beyond the schema, so the baseline 3 is appropriate.

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

Purpose5/5

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

The description immediately identifies this as a composite tool that calls the atmakaraka and ishta-devata endpoints and merges their payloads into top-level atmakaraka and ishta_devata objects for one BirthData. It explicitly contrasts it with asterwise_get_natal_chart and asterwise_get_char_dasha, which separates it from a large sibling set.

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

Usage Guidelines5/5

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

It provides a WORKFLOW section naming asterwise_get_natal_chart as a recommended prerequisite and states that there is no AFTER step, giving an agent an explicit sequence. The DO NOT CONFUSE section names two alternatives and explains why each is not appropriate, satisfying both the 'when to use' and 'when-not-to-use' requirements.

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

asterwise_get_tamil_panchangaTamil PanchangaA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate for the Tamil panchanga, YYYY-MM-DD.
latitudeNoLatitude in decimal degrees, north positive (e.g. 13.08).
locationNoPlace name, e.g. 'Chennai, India'. Alternative to giving latitude, longitude and timezone.
timezoneNoIANA time zone name, e.g. 'Asia/Kolkata'.
longitudeNoLongitude in decimal degrees, east positive (e.g. 80.27).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description never contradicts those. The description adds useful behavioral context: the exact output categories returned, the input constraint that either location or coordinates+timezone must be provided, and a link to the full output/error contract. It does not cover error/auth/rate-limit behavior, but with annotations carrying the safety profile, the description adds appropriate extra context.

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

Conciseness5/5

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

The first sentence carries the core purpose and output content, and the rest is organized into tight labeled blocks: WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and a docs link. Each section earns its place and no sentence is redundant with the schema. The structure makes it easy for an agent to scan.

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

Completeness5/5

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

Given the six-parameter schema, the existing output schema, and annotations that establish the read-only/idempotent profile, the description covers the key decisions: what the tool returns, how to supply the date and location/coordinates, and which sibling tools to avoid. Residual details such as exact error formats and full output fields are delegated to the linked docs and output schema, so nothing critical is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds a non-obvious grouping constraint not stated in the schema: 'Either location (city name) OR latitude + longitude + timezone must be provided.' It also reafirms the date format. This is meaningful extra meaning beyond what the property descriptions alone supply.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Returns Tamil-specific Panchanga for a date and location', then enumerates the distinct contents: four inauspicious periods, Nalla Neram, and the Tamil solar month. It also names similar siblings in the DO NOT CONFUSE WITH block, so the agent can differentiate it from asterwise_get_rahu_kaal and asterwise_get_panchanga without opening their schemas.

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

Usage Guidelines5/5

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

The WORKFLOW section explicitly states this is standalone and that asterwise_get_panchanga should be used after for the full Vedic five-limb panchanga. The DO NOT CONFUSE WITH block gives clear when-not-to-use guidance and names the exact alternatives with one-line distinctions. This is explicit alternatives/routing guidance, not merely implied.

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

asterwise_get_tarot_cardTarot Card LookupA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
card_idYesTarot card identifier in kebab-case, e.g. 'the-fool' or 'ace-of-wands'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description does not need to restate those. It adds valuable context such as the exact-slug requirement, the output/error contract link, and the distinction from bulk/random card tools. This is appropriate given the strong annotation coverage.

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

Conciseness4/5

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

The description is structured with clear sections: summary, workflow, input contract, disambiguation, and docs link. The major arcana list is long but genuinely useful for exact-slug lookup. The workflow section is arguably unnecessary because it just says 'None', but overall the description remains well-organized and purposeful.

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

Completeness5/5

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

With two parameters, one required, full schema coverage, an output schema, and annotations covering safety/idempotency, the description covers the remaining needs: valid values, disambiguation from siblings, and a reference to the full output/error contract. Nothing important is missing for an agent to correctly invoke this tool.

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

Parameters4/5

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

Input schema coverage is 100%, so the baseline is already strong. The description adds value beyond the schema by providing an extended list of valid Major Arcana slugs, a clear Minor Arcana pattern, and explicit 'must be exact' guidance. This helps an agent construct valid card_id values without trial and error.

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

Purpose5/5

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

The description clearly states the tool returns full structured data for a single card identified by slug ID, which is a specific verb-resource pairing. It also explicitly distinguishes itself from siblings like asterwise_get_tarot_cards and asterwise_draw_tarot_cards, making its purpose unambiguous.

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

Usage Guidelines5/5

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

The description gives concrete use cases (card detail pages, single-card lookups, post-selection display) and explicitly names alternatives not to confuse it with, including when to use those alternatives. This is explicit when/when-not guidance.

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

asterwise_get_tarot_card_of_the_dayTarot Card of the Day
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate in YYYY-MM-DD format. Defaults to today when omitted.
allow_reversedNoWhether cards may be drawn reversed (upside down).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_tarot_cardsTarot Cards Catalogue
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_tarot_celtic_crossTarot Celtic CrossA
Read-only
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
questionNoThe question being asked; it shapes the reading's interpretation.
allow_reversedNoWhether cards may be drawn reversed (upside down).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations, the description discloses key behavioral traits: unique non-repeating cards, cryptographic randomness, and the independent 50% reversal chance when allowed. This explains the non-idempotent nature and adds context the annotations alone do not provide.

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

Conciseness5/5

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

The description is front-loaded with the core purpose and organized with clear labels (WORKFLOW, BEFORE, AFTER, INPUT CONTRACT). Every section adds decision-relevant information and avoids filler.

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

Completeness5/5

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

For a read-only tarot tool with an output schema and contract link, the description covers the spread layout, card uniqueness, randomness, reversal behavior, input constraints, and relation to sibling tools. No critical calling information is missing.

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

Parameters4/5

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

The input schema already covers all parameters, but the description adds meaningful detail: 'allow_reversed' has an explicit 50% reversal rule, 'question' has a 500-character limit and an example, and the output/error contract is linked. 'response_format' is less described in prose but is fully covered by the schema enum.

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

Purpose5/5

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

The description names a specific tool ('Ten-card Celtic Cross spread') and states exactly what it does: draws 10 unique cards using cryptographic randomness and assigns them to the 10 classical positions. It also names sibling tools it should not be confused with, so an agent can select it correctly.

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

Usage Guidelines5/5

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

The WORKFLOW section explicitly says when to use this tool standalone and when to follow the three-card spread, and the 'DO NOT CONFUSE WITH' section lists three alternatives with their distinguishing use cases. This gives an agent explicit routing guidance.

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

asterwise_get_tarot_major_arcanaTarot Major ArcanaA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds standalone behavior, output format implications, a documented error contract link, and the archetype context, going beyond what annotations alone 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.

Conciseness4/5

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

The description is well-organized and front-loaded with the core behavior. The WORKFLOW and DO NOT CONFUSE sections are useful, though the 'Required' label is inaccurate and the BEFORE/None/standalone wording is slightly redundant.

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

Completeness5/5

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

For a simple optional-parameter read tool, it covers scope, workflow, sibling alternatives, output/error contract, and is backed by an output schema. Nothing essential 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.

Parameters2/5

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

Schema coverage is 100% and the schema already documents the enum and default, so the description needed to add only nuance. Instead, it labels response_format as 'Required', which is misleading because the schema lists zero required parameters and provides a default. This adds confusion rather than meaning.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Returns all 22 Major Arcana cards (The Fool through The World) as a structured array.' It also explicitly distinguishes itself from asterwise_get_tarot_cards and asterwise_get_tarot_suit, making sibling differentiation immediate.

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

Usage Guidelines5/5

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

The WORKFLOW section says 'BEFORE: None — standalone' and 'AFTER: asterwise_draw_tarot_cards — draw from this subset by filtering by arcana_type.' The 'DO NOT CONFUSE WITH' section names the sibling tools that cover the full deck and suits, making the correct selection clear.

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 SuitA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
suitYesMinor arcana suit: wands, cups, swords or pentacles.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral detail beyond those: case-insensitive suit matching, local rejection of invalid values with MCP INVALID_PARAMS, and the structured array return shape. It does not mention auth or rate limits, but the existing annotations lower the burden and the description provides valuable validation context.

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

Conciseness5/5

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

The description is well-structured with front-loaded purpose, followed by workflow, input contract, sibling disambiguation, and documentation link. Every section earns its place and there is no filler or tautological repetition of the title.

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

Completeness5/5

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

For a simple two-parameter tool with an output schema, full schema coverage, and thorough annotations, the description is complete. It covers validation behavior, output shape, sibling differentiation, and points to a full docs URL for output and error contracts, leaving no critical gap for an agent to call it correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value for the suit parameter by enumerating the exact allowed values ('wands', 'cups', 'swords', 'pentacles'), specifying case-insensitivity, and clarifying the local rejection behavior — all beyond what the schema field description provides.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Returns all 14 cards in a given Minor Arcana suit as a structured array.' It clearly scopes the tool to Minor Arcana suits and disambiguates it from the Major Arcana and full-catalogue siblings, so an agent can identify the tool's purpose precisely.

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

Usage Guidelines5/5

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

The 'DO NOT CONFUSE WITH' section explicitly names asterwise_get_tarot_major_arcana and asterwise_get_tarot_cards and gives the distinguishing criteria (22 Major Arcana vs suit-based; 78-card catalogue). The WORKFLOW section states the tool is standalone, leaving no ambiguity about prerequisites or follow-up calls.

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

asterwise_get_tarot_three_card_spreadTarot Three Card SpreadA
Read-only
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
questionNoThe question being asked; it shapes the reading's interpretation.
allow_reversedNoWhether cards may be drawn reversed (upside down).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

The description notes that cards are drawn with cryptographic randomness and that the question does not affect card selection, adding transparency beyond the readOnlyHint annotation. It doesn't mention any potential side effects, but the annotations already cover safety, and the extra details are valuable.

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

Conciseness4/5

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

The description is well-structured with separate sections for workflow, input, and disambiguation. While slightly verbose due to repeating disambiguation details, the information is organized and easy to scan, with no unnecessary fluff.

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

Completeness4/5

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

The description covers all necessary aspects for a user to call the tool correctly: what it does, how to use it, and output options. Since an output schema exists, the lack of return-value details is acceptable. The mention of response_format and the question's non-influence on selection round out the context.

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

Parameters4/5

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

The description elaborates on each parameter's meaning (question shapes interpretation, allow_reversed controls reversed cards, response_format controls output type) and even provides an example and a note about the question being echoed. This goes beyond the schema's basic definitions, enhancing understanding.

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

Purpose5/5

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

The description clearly states that this tool draws 3 unique cards for a Past/Present/Future spread, assigning each to a named positional slot. It explicitly distinguishes from sibling tools like draw_tarot_cards (free draw) and celtic_cross (deeper analysis), making its specific purpose unambiguous.

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

Usage Guidelines5/5

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

The description provides a 'DO NOT CONFUSE WITH' section that contrasts this tool with two directly related siblings, and the 'AFTER' note suggests using the celtic cross for deeper analysis of the same question. This gives clear guidance on when to use this tool versus alternatives.

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

asterwise_get_tarot_yes_noTarot Yes No
Read-only
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
questionNoThe yes/no question being asked.
allow_reversedNoWhether cards may be drawn reversed (upside down).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_thirumana_poruthamThirumana Porutham
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
person1YesBirth data for a single person.
person2YesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_transitsTransitsA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
to_dateYesEnd of the window to list ingress and station events, YYYY-MM-DD.
from_dateYesStart of the window to list ingress and station events, YYYY-MM-DD.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that range cap, date order, and validity are enforced upstream, and clarifies it returns a chronological list without side effects. This supplements the annotation with operational constraints, though it does not fully describe error handling or edge cases.

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

Conciseness4/5

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

The description is structured into clear sections (description, workflow, input contract, do not confuse) and is appropriately detailed given the large sibling list. It avoids fluff, though the DO NOT CONFUSE section is somewhat repetitive with the WORKFLOW. Overall, every sentence serves a purpose.

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

Completeness4/5

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

Given the output schema is available (as indicated by context) and the description explains the returned data as chronological astronomical events, the description is complete. It also explains the input window and birth context. Minor gap: it does not explicitly mention the output format options (markdown/json), though those are in the schema parameters.

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

Parameters5/5

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

Schema covers 100% of parameters with detailed descriptions, including nested birth fields, enums for ayanamsa and response_format, and defaults. The description adds the input contract (YYYY-MM-DD and 24-month cap) that is not fully explicit in the schema for from_date/to_date, enhancing understanding.

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

Purpose5/5

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

The description clearly states the tool lists sign ingresses and retrograde/direct stations for all planets between two dates, with an explicit 'against the natal context' qualifier. This distinguishes it from generic transit tools and names the specific astronomical events returned.

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

Usage Guidelines5/5

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

The description includes a WORKFLOW section explicitly recommending the before-tool (asterwise_get_natal_chart) and after-tool (asterwise_get_gochar). It also provides a DO NOT CONFUSE WITH section that contrasts with two sibling tools (gochar and dasha_transits), giving concrete selection criteria.

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

asterwise_get_varshaphalVarshaphal
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesYear of the solar return to compute, four digits, e.g. 2026.
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_varshaphal_harsha_balaVarshaphal Harsha Bala
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesFour-digit calendar year, e.g. 2026. Defaults to the current year when omitted.
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_varshaphal_sahamVarshaphal Saham
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesFour-digit calendar year, e.g. 2026. Defaults to the current year when omitted.
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_western_aspectsWestern Aspects
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
positionsYesPlanet positions to compare: a mapping of planet name to ecliptic longitude in degrees (0-360).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_western_compatibilityWestern Compatibility
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
person1YesBirth data for Western astrology tools (tropical zodiac).
person2YesBirth data for Western astrology tools (tropical zodiac).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_western_compositeWestern CompositeA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
person1YesBirth data for Western astrology tools (tropical zodiac).
person2YesBirth data for Western astrology tools (tropical zodiac).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds that house_system is ignored and that the response contains composite planets with dignities and aspects, going beyond the annotations. However, it does not detail error behavior, though it links to a full output and error contract.

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

Conciseness5/5

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

The description is well-structured with WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, and contract link sections. Every sentence provides useful information without redundancy or filler.

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

Completeness5/5

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

Given the nested parameter objects and output schema, the description is complete enough for an agent to invoke the tool correctly. It specifies prerequisites, differentiates from closely related tools, notes ignored parameters, and points to the full output and error contract.

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

Parameters4/5

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

The schema already provides 100% coverage with detailed descriptions for person1, person2, and response_format. The description adds valuable caveats such as 'house_system ignored' and clarifies that each person uses WesternBirthData, supplementing the schema meaningfully.

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

Purpose5/5

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

The description clearly identifies the tool as returning a midpoint composite chart for two people, with composite planets, dignities, and aspects. It explicitly differentiates this from synastry and numeric compatibility tools in the DO NOT CONFUSE section, making the purpose unambiguous.

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

Usage Guidelines5/5

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

The WORKFLOW section gives explicit guidance to examine inter-chart aspects via asterwise_get_western_synastry before the composite. The INPUT CONTRACT and DO NOT CONFUSE sections clarify when this tool is appropriate versus synastry or compatibility tools, providing strong usage direction.

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

asterwise_get_western_horoscopeWestern HoroscopeA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
periodYesHoroscope period: daily, weekly, monthly or yearly.
sun_signYesWestern sun sign, e.g. 'Aries'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the read-only/idempotent annotations, the description reveals that content is AI-synthesised, that response_format only changes rendering, and that results include model/period metadata. It also points to a full output and error contract URL, so the tool's behavioral and error profile is well disclosed with no contradiction.

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

Conciseness4/5

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

The description is longer than minimal but earns its length: core function is front-loaded and the WORKFLOW/INPUT CONTRACT/DO NOT CONFUSE sections are scannable. Some redundancy exists ('chosen horizon' vs. the period parameter), but nothing is filler.

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

Completeness5/5

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

For a 3-parameter, well-annotated tool with an output schema, the description covers workflow, input constraints, output highlights, sibling confusion, and directs to a full error/output contract. An agent has everything needed to decide and invoke correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is a 3. The description adds useful constraints beyond the schema: sun_sign must be English zodiac names only, no Sanskrit aliases, and response_format affects rendering only. This clarifies ambiguity without compensating for missing schema docs.

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

Purpose5/5

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

The opening sentence names the exact resource ('Western sun-sign horoscope'), the action ('Fetches'), and the output shape (structured guidance fields plus metadata). It also calls out the Western/tropical distinction, so it is clearly separable from the many sibling astrology tools.

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

Usage Guidelines5/5

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

The WORKFLOW section states the tool is standalone and names asterwise_get_western_natal as the AFTER option when a personalised chart is needed. DO NOT CONFUSE WITH explicitly contrasts asterwise_get_horoscope (Vedic Moon-sign) and asterwise_get_western_natal, giving an agent clear selection criteria.

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

asterwise_get_western_lunar_returnWestern Lunar ReturnA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for Western astrology tools (tropical zodiac).
after_dateNoFind the first occurrence after this date, YYYY-MM-DD. Defaults to today when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: the return occurs approximately every 27.3 days, the chart is built 'for that moment at the birth location', and a 'complete Western natal chart' is produced. It does not describe error behavior or edge cases, but the external docs link mitigates that.

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

Conciseness5/5

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

The description is front-loaded with the core purpose, then organized into compact labeled sections: WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH, and docs link. Every section serves a distinct purpose, and there is no filler or repetition that weakens the agent's ability to parse it.

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

Completeness5/5

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

For a read-only, idempotent computation tool with a rich input schema and an output schema present, the description covers the essential context: what it computes, the input contract, the workflow prerequisite, the closest alternative, and a full documentation link. Nothing critical is missing for correct selection and invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents the birth object, after_date, and response_format. The description's INPUT CONTRACT mostly restates what the schema already says (after_date defaults to today, birth is WesternBirthData), adding no meaningful parameter semantics beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('finds') and resource ('the next lunar return chart after a given date'), then explains the underlying mechanism: the next moment the Moon returns to its natal tropical longitude. It also explicitly disambiguates from asterwise_get_western_solar_return, so an agent can distinguish it from the closest sibling without opening schemas.

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

Usage Guidelines5/5

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

The description provides clear when-to-use context ('next return after this date'), a workflow dependency ('BEFORE: asterwise_get_western_natal'), and an explicit exclusion with the alternative tool ('DO NOT CONFUSE WITH: asterwise_get_western_solar_return'). This gives an agent concrete routing guidance.

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

asterwise_get_western_moon_calendarWestern Moon CalendarA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoFour-digit calendar year, e.g. 2026. Defaults to the current year when omitted.
monthNoMonth number 1-12. Defaults to the current month when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations provide readOnly, openWorld, idempotent, and destructive hints, so the description's omission of these details is acceptable. The description mentions defaulting behavior and validation of month range, which adds transparency. No contradictions with annotations.

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

Conciseness4/5

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

The description is structured with clear INPUT CONTRACT and WORKFLOW sections, is not overly verbose, and fronts the purpose. The repetition of 'Defaults' and 'DO NOT CONFUSE WITH' mirrors the schema descriptions but is acceptable. Slightly redundant with the schema but not bloated.

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

Completeness4/5

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

Given the tool has a full output schema and sibling context is provided, the description is complete enough. It clearly distinguishes from the single-day sibling and covers validation. The mention of the full output contract link adds completeness, though no detailed output fields are described in the description itself.

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

Parameters4/5

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

Schema descriptions cover 100% of parameters with clear defaults and examples. The description itself does not add extra meaning beyond the schema, but the schema is already comprehensive. The response_format parameter is well described with enum values.

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

Purpose4/5

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

The description clearly states the tool returns lunar phase data for every day in a month as a structured array, distinguishing it from the single-day sibling. The verb 'Returns' is specific, but it does not explicitly mention the output format for the array (e.g., JSON structure) beyond referencing the single-day object.

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

Usage Guidelines4/5

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

The description includes a WORKFLOW section stating standalone and no after steps, and a DO NOT CONFUSE WITH section naming the alternative single-day tool. However, it does not explicitly say when to prefer this over the sibling or mention any prerequisites or typical use cases.

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

asterwise_get_western_moon_phaseWestern Moon PhaseA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate for the moon phase, YYYY-MM-DD. Defaults to today.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive hints, and the description adds behavioral context beyond those: it specifies the computation engine, clarifies that this is the tropical system rather than Vedic, and enumerates the exact returned values. The docs link additionally references the output and error contract, although the description itself could have said a little more about error handling.

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

Conciseness5/5

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

The description is front-loaded with a concise summary, then organized into labeled sections for workflow, input contract, sibling differentiation, and full documentation. Every section serves a distinct purpose with no filler or redundant restatement.

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

Completeness5/5

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

Given the annotations, output schema, input schema, and sibling list, the description is complete: it covers what the tool returns, how to call it, what to call instead, what to call next, and where to find the full contract. Nothing an agent needs to invoke this safely is missing.

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

Parameters4/5

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

Schema coverage is already 100%, and the description adds a concrete example value ('2026-05-01') and reinforces that the date is optional and defaults to today. The response_format parameter is not echoed in the prose, but the schema describes it fully with an enum and default.

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

Purpose5/5

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

The description opens with a specific verb ('Calculates'), a clear resource ('tropical lunar phase'), a date scope ('for any date'), and the return fields. It also explicitly distinguishes itself from its closest siblings in the 'DO NOT CONFUSE WITH' section, so an agent can identify this tool without ambiguity.

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

Usage Guidelines5/5

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

It states standalone usage ('BEFORE: None — standalone'), suggests the natural next step for full-month data, and explicitly warns against confusing this tool with the calendar and Vedic panchanga tools. This gives clear when-to-use and when-not-to-use guidance.

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

asterwise_get_western_natalWestern Natal ChartA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for Western astrology tools (tropical zodiac).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the bar is lower; the description still adds substantial behavioral context by warning that an incorrect timezone shifts the Ascendant, noting that house_system is accepted here but silently ignored by other endpoints, and clarifying that ayanamsa is always tropical even if a value is supplied. This goes well beyond the structured annotations and helps an agent anticipate surprising behavior.

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

Conciseness4/5

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

The description is long but well-structured with clear sections (WORKFLOW, INPUT CONTRACT, IMPORTANT, NOTE, DO NOT CONFUSE WITH) and front-loads the core purpose in the first sentence. Every section earns its place given the nested parameter object, timezone pitfall, and confusing sibling landscape; a few typographical artifacts and duplicated schema examples keep it from a perfect score.

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

Completeness5/5

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

For a tool with nested inputs, multiple house systems, timezone sensitivity, and over 100 sibling tools, the description covers the full workflow, input contract with examples, failure-relevant pitfalls, and disambiguation. Since an output schema exists, the description need not enumerate return fields, and the docs link covers the full output/error contract. Nothing essential is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3; the description adds meaning beyond the schema by explaining why timezone matters (house cusps/Ascendant), by noting the house_system quirk across sibling endpoints, and by explicitly documenting the absent ayanamsa field. Some content repeats schema examples, but the additional contextual guidance pushes it above baseline.

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

Purpose5/5

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

The description opens with a specific verb-qualifier pair — 'Calculate a complete Western natal chart using the tropical zodiac and Swiss Ephemeris' — and lists concrete outputs (10 planets, house placements, dignities, aspects, balance statistics). It explicitly disambiguates from asterwise_get_natal_chart (Vedic/sidereal) and asterwise_get_western_aspects (raw longitudes), so an agent can distinguish this tool from close siblings without opening schemas.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use guidance with a 'DO NOT CONFUSE WITH' section naming two alternatives and the exact conditions that select them (Vedic vs tropical; full chart vs already-known positions). It also includes a WORKFLOW section saying this tool is standalone and lists downstream AFTER tools (transits, synastry, solar return), giving sequencing context that is rare and valuable.

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

asterwise_get_western_planetary_returnWestern Planetary ReturnA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for Western astrology tools (tropical zodiac).
planetYesPlanet whose return to compute, e.g. 'Jupiter' or 'Saturn'.
after_dateNoFind the first occurrence after this date, YYYY-MM-DD. Defaults to today when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already establish the operation as read-only, idempotent, and non-destructive. The description adds meaningful behavioral context: the calculation uses natal tropical longitude, occurs at the birth location, and the after_date parameter defaults to today, which goes beyond what the annotations alone convey.

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

Conciseness5/5

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

The description is well-structured and front-loaded: a clear one-sentence summary is followed by labeled WORKFLOW, INPUT CONTRACT, and DO NOT CONFUSE sections. Every section serves a purpose, and the external docs link covers deeper contracts without bloating the description.

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

Completeness5/5

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

The description is complete for a complex tool: it specifies prerequisites, follow-up, parameter expectations, sibling disambiguation, and points to the full output/error contract. Since an output schema is present, not detailing return values in the description is acceptable.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by enumerating all valid planet values (Sun through Pluto), listing the required birth input contract, and clarifying that after_date defaults to today—details that reinforce and extend the schema without being redundant.

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

Purpose5/5

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

The description clearly identifies the tool's precise function: finding the next exact moment a specified planet returns to its natal tropical longitude and building a complete Western natal chart for that moment. It also names the two closest sibling tools and explicitly states what this tool is not, making differentiation easy.

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

Usage Guidelines5/5

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

The description provides explicit workflow instructions: BEFORE this tool use asterwise_get_western_natal, AFTER None. It also explicitly warns not to confuse this tool with the Sun-only and Moon-only return shortcuts, giving an agent clear routing guidance.

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

asterwise_get_western_secondary_progressionsWestern Secondary ProgressionsA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for Western astrology tools (tropical zodiac).
target_dateNoDate in YYYY-MM-DD format. Defaults to today when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

The description does not add behavioral traits beyond the annotations. The annotations already declare readOnlyHint: true, idempotentHint: true, and destructiveHint: false, and the description is consistent with these. It explains the computational method but that is functional, not behavioral (e.g., side effects, rate limits). Since the annotations already cover safety aspects, the description adds no extra behavioral context, hence a neutral score.

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

Conciseness4/5

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

The description is well-structured with clear sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) and contains useful disambiguation. However, some redundancy exists: the 'DO NOT CONFUSE WITH' section repeats the same contrast twice (e.g., 'uniform arc vs individual motion' and 'real-time sky, not symbolic progression'). Overall it is concise and informative, but slightly repetitive.

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

Completeness5/5

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

The description provides rich context: the exact formula (1 ephemeris day = 1 tropical year = 365.2421904 days), the workflow sequence, and clear differentiation from related tools. It also mentions the output content (progressed planets, Ascendant, MC, solar arc). This gives the agent a complete understanding of the tool's purpose and relationship to siblings.

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

Parameters3/5

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

The schema provides 100% coverage of parameters with detailed descriptions (e.g., birth object fields, target_date, response_format). The description text repeats the same information (e.g., 'target_date (optional YYYY-MM-DD) — the date to progress to. Defaults to today.') without adding new semantic detail. Thus it meets the baseline for complete schema coverage but adds no extra value.

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

Purpose5/5

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

The description clearly states it is a 'Secondary progressed chart using the day-for-a-year method' and explicitly lists what it returns: '10 progressed planet positions, progressed Ascendant and MC, and the solar arc.' This leaves no ambiguity about the tool's function.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool via the 'WORKFLOW' section (BEFORE: asterwise_get_western_natal, AFTER: asterwise_get_western_solar_arc) and the 'DO NOT CONFUSE WITH' section, which distinguishes it from solar arc (uniform motion) and transits (real-time sky). This is excellent usage direction.

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

asterwise_get_western_solar_arcWestern Solar Arc
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for Western astrology tools (tropical zodiac).
target_dateNoDate in YYYY-MM-DD format. Defaults to today when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_western_solar_returnWestern Solar ReturnA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesFour-digit calendar year, e.g. 2026. Defaults to the current year when omitted.
birthYesBirth data for Western astrology tools (tropical zodiac).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds useful operational detail, such as ignoring house_system and using return computation defaults, while not contradicting the annotations. It does not discuss side effects, but none are expected given the read-only hint.

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

Conciseness4/5

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

The description is well-structured with clear headings and front-loaded purpose. It is slightly repetitive in restating the input contract in prose, but remains efficient and scannable for an agent.

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

Completeness5/5

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

Given the output schema is available and the description provides workflow, parameter semantics, and sibling distinctions, the context is complete. The external link to full output/error contract also covers any remaining details without bloating the description.

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

Parameters5/5

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

The schema already covers 100% of parameters with descriptions. The description adds critical semantics beyond the schema, notably that house_system is ignored for solar return computations and that year is the calendar year, not age, which prevents misuse.

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

Purpose5/5

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

The description clearly states the tool computes a solar return chart for a given year by finding the exact moment the Sun returns to its natal tropical longitude. It explicitly differentiates itself from lunar return and Vedic Varshaphal tools, so an agent can distinguish it from relevant siblings.

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

Usage Guidelines5/5

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

It provides an explicit WORKFLOW instruction to understand the natal chart before reading the return. It also names alternatives to avoid confusion (lunar return and Varshaphal), 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_western_synastryWestern SynastryA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
person1YesBirth data for Western astrology tools (tropical zodiac).
person2YesBirth data for Western astrology tools (tropical zodiac).
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

The annotations cover read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral details beyond annotations, including that standard inter-chart orbs are used, house_system is ignored for synastry, and response_format controls output. It does not mention rate limits or error cases, but those are not required given the annotations.

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

Conciseness4/5

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

The description is concise and well-structured, using short labeled sections for workflow, input contract, and disambiguation. The DO NOT CONFUSE section is especially efficient at preventing misuse. The full output contract link is a reasonable addition rather than unnecessary verbosity.

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

Completeness4/5

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

The description provides sufficient context for agent selection and invocation, including output format, ignored parameters, and relationship to sibling tools. Since the context indicates an output schema exists and a full output/error contract link is provided, the description does not need to enumerate all return fields or error codes.

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

Parameters4/5

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

The input schema already provides complete descriptions for all parameters. The description adds important semantic details such as 'house_system ignored for synastry payload' and explains that person1 and person2 are WesternBirthData objects, which helps agents understand which nested fields are relevant.

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

Purpose5/5

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

The description clearly states it computes an aspect grid between two natal charts using the tropical zodiac and returns inter-chart aspects. The 'DO NOT CONFUSE WITH' section explicitly distinguishes it from composite charts and numeric compatibility scores, so an agent can select the correct tool.

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

Usage Guidelines4/5

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

The description gives useful context for when to use the tool, such as 'Useful for relationship compatibility analysis', and provides a WORKFLOW section telling agents to fetch individual natal charts first and use composite charts afterward. It also clarifies that it returns raw aspects unlike the numeric compatibility tool, though it does not explicitly state 'use this instead of X when Y'.

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

asterwise_get_western_transits_dailyWestern Daily TransitsA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for Western astrology tools (tropical zodiac).
start_dateNoStart of the window, YYYY-MM-DD. Defaults to today when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds that house_system is ignored for this endpoint, that start_date defaults to today, and defines the transit orbs used (major 3°, sextile 2°, minor 1°). This adds behavioral context beyond the annotations without contradicting them.

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

Conciseness5/5

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

The description is tightly structured with short sentences, explicit sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH), and zero fluff. Every sentence earns its place: it defines the output, states the orbs, gives defaults, sequences dependencies, and links the full contract.

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

Completeness5/5

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

For a tool with an output schema, nested objects, and full schema coverage, the description covers the essential operational context: prerequisites (natal chart first), input contract, defaults, exclusion of house_system, and links to full docs. Nothing an agent needs to correctly select and invoke the tool is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents all parameters. The description adds meaning by explaining the birth object is WesternBirthData, noting which nested field is ignored for this endpoint (house_system), and clarifying start_date optionality and default behavior. It doesn't restate every schema field but adds workflow-relevant semantics.

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

Purpose5/5

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

The description states a specific verb and resource ('Current sky positions vs natal chart for a single day'), names the exact output (all 10 planets with tropical longitudes and active aspects), and differentiates itself from two siblings by day count. An agent can tell it apart from weekly/monthly variants without opening schemas.

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

Usage Guidelines5/5

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

The WORKFLOW section explicitly says BEFORE calling get_western_natal to establish the natal chart first and AFTER calling weekly for a week view. The 'DO NOT CONFUSE WITH' section lists the two sibling tools and the distinguishing duration (7 days vs 1 day, 30-day window vs single day). This is explicit when/when-not guidance.

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

asterwise_get_western_transits_monthlyWestern Monthly Transits
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for Western astrology tools (tropical zodiac).
start_dateNoStart of the window, YYYY-MM-DD. Defaults to today when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
asterwise_get_western_transits_weeklyWestern Weekly TransitsA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for Western astrology tools (tropical zodiac).
start_dateNoStart of the window, YYYY-MM-DD. Defaults to today when omitted.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

The annotations already indicate the tool is read-only, idempotent, and non-destructive. The description adds transparency by noting that the house_system parameter is ignored for this tool, and that start_date defaults to today when omitted, giving users realistic expectations about parameter handling.

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

Conciseness5/5

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

The description is organized into concise sections (purpose, workflow, input contract, warnings, external reference), making it easy to scan. It avoids unnecessary verbosity while covering all essential aspects in a compact form.

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

Completeness5/5

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

The description provides the tool's purpose, workflow integration, parameter clarifications, and a link to the full output/error contract. This is sufficient for an agent to correctly invoke the tool without needing additional context, especially given the high schema coverage.

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

Parameters4/5

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

The schema already provides thorough descriptions for all parameters (birth, start_date, response_format), achieving 100% coverage. The description adds one extra semantic note: house_system is ignored, which clarifies a potential confusion given the schema includes it. This slight addition warrants a score above the baseline.

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

Purpose5/5

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

The description clearly states the tool computes a 7-day transit window against a natal chart, returning daily snapshots and peak aspects. It also distinguishes it from daily and monthly transit tools, making its purpose unambiguous.

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

Usage Guidelines5/5

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

The description explicitly tells users to use this tool for a week-long transit view, and directs them to daily or monthly variants for other time spans. It also lists the recommended preceding call (natal chart) and following call (monthly transits), providing clear guidance on when to use this tool in a workflow.

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

asterwise_get_western_zodiac_compatibilityWestern Zodiac CompatibilityA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
sign1YesFirst zodiac sign, e.g. 'Aries'.
sign2YesSecond zodiac sign, e.g. 'Libra'.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior. The description adds useful context beyond that: no ephemeris calculation, fast execution, basis in element/modality affinity, and a link to the full output/error contract. It would only reach 5 by describing error cases inline rather than referencing a docs URL.

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

Conciseness5/5

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

The description is front-loaded with the core purpose and uses clear labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE WITH) that make scanning easy. Every section earns its place; no filler or tautology.

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

Completeness5/5

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

With an output schema present and annotations covering safety/idempotency, the description supplies the missing behavioral and routing context: prerequisites, alternatives, underlying logic, and a pointer to the full contract. Nothing an agent needs to select and call this tool correctly is missing.

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

Parameters3/5

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

Input schema coverage is 100%, so the schema already documents sign1, sign2, and response_format with examples and defaults. The description's INPUT CONTRACT mostly restates parameter names without adding semantic detail beyond the schema.

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

Purpose5/5

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

The description states a clear resource ('sign-to-sign compatibility') and methodology ('element and modality affinity'), and immediately distinguishes it from similar-sounding siblings. It names exactly what this tool is not: asterwise_get_western_compatibility and asterwise_get_western_synastry.

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

Usage Guidelines5/5

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

Explicit WORKFLOW and DO NOT CONFUSE sections tell the agent when to use this tool vs alternatives: no birth data needed, use asterwise_get_western_compatibility when full charts are available, and use synastry for aspect geometry. This is textbook-level routing guidance.

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

asterwise_get_yogasYogasA
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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 beyond annotations: the '00:00' time edge case and the warning that yoga house logic may be wrong if true birth time is unknown. It also links 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.

Conciseness5/5

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

The description is well-structured with clear labeled sections: purpose, workflow, input contract, disambiguation, and documentation link. Every section earns its place, and the core purpose is front-loaded in the first sentence. It is detailed but not bloated.

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

Completeness5/5

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

Given the tool's complexity, the presence of an output schema, and rich annotations, the description is complete. It covers the core behavior, workflow context, input contract caveats, sibling disambiguation, and points to the full contract. Nothing an agent needs to decide whether to call this tool is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful parameter-level guidance by clarifying the global BirthData contract and explicitly warning about the '00:00' time value, which is not fully explained in the schema. This extra context justifies a 4.

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

Purpose5/5

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

The description names a specific verb ('Evaluates'), a specific resource ('natal chart'), and a clear scope ('named classical yogas'), and lists the exact output fields per hit. The DO NOT CONFUSE WITH section explicitly distinguishes it from asterwise_get_natal_chart and asterwise_get_panchanga, so an agent can separate 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.

Usage Guidelines5/5

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

The WORKFLOW section gives explicit before/after recommendations: run asterwise_get_natal_chart first and asterwise_get_doshas after. The DO NOT CONFUSE WITH section names alternatives and explains why they are not this tool. This is unusually complete usage guidance.

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

asterwise_get_yogini_dashaYogini Dasha
Read-onlyIdempotent
Inspect

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/

ParametersJSON Schema
NameRequiredDescriptionDefault
birthYesBirth data for a single person.
response_formatNoOutput format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload.markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

Tool Schema Changelog

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

  1. 103 tool updatesv0.1.0
    • First observedasterwise_check_mobile_number
    • First observedasterwise_check_sade_sati
    • First observedasterwise_check_vehicle_number
    • First observedasterwise_draw_tarot_cards
    • First observedasterwise_get_angel_number
    • First observedasterwise_get_angel_number_personal
    • First observedasterwise_get_angel_number_today
    • First observedasterwise_get_ashtakavarga
    • First observedasterwise_get_ashtottari_dasha
    • First observedasterwise_get_ayanamsha
    • First observedasterwise_get_balance_number
    • First observedasterwise_get_biorhythm
    • First observedasterwise_get_business_name_analysis
    • First observedasterwise_get_chaldean_numerology
    • First observedasterwise_get_char_dasha
    • First observedasterwise_get_chart_strength
    • First observedasterwise_get_choghadiya
    • First observedasterwise_get_compatibility
    • First observedasterwise_get_crystal
    • First observedasterwise_get_crystal_by_planet
    • First observedasterwise_get_crystal_recommendations
    • First observedasterwise_get_crystal_recommendations_natal
    • First observedasterwise_get_crystals
    • First observedasterwise_get_dasha
    • First observedasterwise_get_dasha_transits
    • First observedasterwise_get_dashakoot
    • First observedasterwise_get_divisional_chart
    • First observedasterwise_get_doshas
    • First observedasterwise_get_dream_symbol
    • First observedasterwise_get_dream_symbols
    • First observedasterwise_get_expression_number
    • First observedasterwise_get_festival_calendar
    • First observedasterwise_get_gemstone_recommendations
    • First observedasterwise_get_ghat_chakra
    • First observedasterwise_get_gochar
    • First observedasterwise_get_hora
    • First observedasterwise_get_horoscope
    • First observedasterwise_get_karmic_lessons
    • First observedasterwise_get_kp_chart
    • First observedasterwise_get_kp_ruling_planets
    • First observedasterwise_get_kp_significators
    • First observedasterwise_get_lal_kitab_chart
    • First observedasterwise_get_lal_kitab_remedies
    • First observedasterwise_get_lo_shu_grid
    • First observedasterwise_get_lucky_numbers
    • First observedasterwise_get_maturity_number
    • First observedasterwise_get_muhurta
    • First observedasterwise_get_nakshatra_details
    • First observedasterwise_get_nakshatra_prediction
    • First observedasterwise_get_name_correction
    • First observedasterwise_get_natal_chart
    • First observedasterwise_get_number_meaning
    • First observedasterwise_get_numerology_compatibility
    • First observedasterwise_get_numerology_profile
    • First observedasterwise_get_panchanga
    • First observedasterwise_get_panchanga_calendar
    • First observedasterwise_get_papasamyam
    • First observedasterwise_get_personal_cycles
    • First observedasterwise_get_personal_year
    • First observedasterwise_get_personality_number
    • First observedasterwise_get_pitra_dosha
    • First observedasterwise_get_planet_nature
    • First observedasterwise_get_porutham
    • First observedasterwise_get_prashna_chart
    • First observedasterwise_get_puja_suggestions
    • First observedasterwise_get_rahu_kaal
    • First observedasterwise_get_remedies
    • First observedasterwise_get_rudraksha
    • First observedasterwise_get_soul_urge_number
    • First observedasterwise_get_special_ascendants
    • First observedasterwise_get_tamil_panchanga
    • First observedasterwise_get_tarot_card
    • First observedasterwise_get_tarot_card_of_the_day
    • First observedasterwise_get_tarot_cards
    • First observedasterwise_get_tarot_celtic_cross
    • First observedasterwise_get_tarot_major_arcana
    • First observedasterwise_get_tarot_suit
    • First observedasterwise_get_tarot_three_card_spread
    • First observedasterwise_get_tarot_yes_no
    • First observedasterwise_get_thirumana_porutham
    • First observedasterwise_get_transits
    • First observedasterwise_get_varshaphal
    • First observedasterwise_get_varshaphal_harsha_bala
    • First observedasterwise_get_varshaphal_saham
    • First observedasterwise_get_western_aspects
    • First observedasterwise_get_western_compatibility
    • First observedasterwise_get_western_composite
    • First observedasterwise_get_western_horoscope
    • First observedasterwise_get_western_lunar_return
    • First observedasterwise_get_western_moon_calendar
    • First observedasterwise_get_western_moon_phase
    • First observedasterwise_get_western_natal
    • First observedasterwise_get_western_planetary_return
    • First observedasterwise_get_western_secondary_progressions
    • First observedasterwise_get_western_solar_arc
    • First observedasterwise_get_western_solar_return
    • First observedasterwise_get_western_synastry
    • First observedasterwise_get_western_transits_daily
    • First observedasterwise_get_western_transits_monthly
    • First observedasterwise_get_western_transits_weekly
    • First observedasterwise_get_western_zodiac_compatibility
    • First observedasterwise_get_yogas
    • First observedasterwise_get_yogini_dasha

TSQS

Score is being calculated.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    World's first Vedic Astrology MCP Server — connect Claude, ChatGPT, Cursor, or any AI to real Vedic astrology. Provides horoscope predictions, compatibility matching, numerology, planetary positions, yogas and house analysis via MCP.
    6
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Multi-tradition astrology engine that computes real birth charts, transits, and synastry for AI agents via MCP tools.
    6
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    High-precision astrology tools for LLM agents, including natal charts, transits, progressions, synastry, and more, backed by Swiss Ephemeris.
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/asterwise/asterwise-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server