Skip to main content
Glama

Western Aspects

asterwise_get_western_aspects
Read-onlyIdempotent

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/

Input Schema

TableJSON 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

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed2 schema fields changed
    • addedInput schema / properties / positions / description
      Added value: +"Planet positions to compare: a mapping of planet name to ecliptic longitude in degrees (0-360)."
    • addedInput schema / properties / response_format / description
      Added value: +"Output format: 'markdown' (default) for a readable report, or 'json' for the raw structured payload."
  2. Changed2 schema fields changed
    • addedInput schema / properties / response_format / default
      Added value: +"markdown"
    • changedInput schema / required
      Previous value: -[
      -  "positions",
      -  "response_format"
      -]New value: +[
      +  "positions"
      +]
  3. Added

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/non-destructive, and the description adds useful context beyond that: standard natal orbs, no planet-name enforcement, a minimum of two input positions, and a link to the full output/error contract. It doesn't enumerate exactly which aspects are recognized, but the docs contract covers that.

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

Conciseness5/5

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

Core behavior is front-loaded, and the rest is organized into labeled sections (WORKFLOW, INPUT CONTRACT, DO NOT CONFUSE, docs). No redundant filler; every section earns its place.

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

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 an explicit docs URL for the output/error contract, the description covers input contract, workflow, exclusions, and required parameters. An agent has everything needed to decide to call it and construct valid input.

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

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 adds concrete value for 'positions' with an example dict, the at-least-2-entries requirement, and the clarification that body names are arbitrary strings not validated by the tool. response_format is already fully documented by the schema enum/default.

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

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: 'Calculates all active aspects between a supplied set of planetary longitudes.' The DO NOT CONFUSE section directly differentiates it from asterwise_get_western_natal and asterwise_get_western_synastry, so an agent can identify the exact scope.

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

Usage Guidelines5/5

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

Provides explicit workflow context (standalone, or get positions first via asterwise_get_western_natal) and names alternatives with their distinguishing conditions. The 'DO NOT CONFUSE WITH' section tells the agent when the sibling tools should be chosen instead.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation3/5

Many tools are well-differentiated by explicit 'DO NOT CONFUSE WITH' notes, but the sheer number of near-neighbor pairs (e.g., crystal vs gemstone recommendations, natal chart variants, dasha systems, compatibility systems, tarot draw variants) creates real selection risk. The descriptions mitigate overlap, but an agent browsing 103 tools will struggle to pick the right one.

Naming Consistency5/5

Every tool follows the asterwise_get_* or asterwise_draw_* prefix convention with a clear noun phrase (e.g., asterwise_get_natal_chart, asterwise_draw_tarot_cards). The two verbs 'get' and 'draw' are semantically appropriate, and there are no camelCase or mixed-style names.

Tool Count1/5

103 tools is far beyond a manageable MCP surface. While the domain is broad (Vedic astrology, Western astrology, numerology, tarot, crystals, dream symbols), the server bundles multiple distinct domains into one namespace, making it nearly impossible for an agent to discover the right tool efficiently.

Completeness4/5

The surface is impressively comprehensive across astrology, numerology, tarot, and remedies, with deep coverage of dasha systems, compatibility frameworks, and chart types. Minor gaps exist (e.g., no tarot interpretation endpoint, no batch operations, no update/delete since it's read-only data), but for a reference/prediction API the coverage is strong.

Resources