Skip to main content
Glama
astroway

astroway-mcp

Official
by astroway

5-Element Balance

astroway_bazi_element_balance
Read-onlyIdempotent

Calculate BaZi five-element balance across all eight characters, including visible, hidden-stem, and weighted counts, to identify dominant and missing elements in a birth chart.

Instructions

Element balance across the whole chart. The balance object opens the branches and counts all eight characters three ways: visible, with every hidden stem, and weighted so the total stays at eight. The top-level elementCounts, dominantElement and missingElements are DEPRECATED (year and month only, four characters, branches unopened) and keep answering unchanged until 2027-09-08; the response carries RFC 8594 Deprecation and Sunset headers.

[Group: BaZi (Four Pillars)] [Endpoint: POST /v1/bazi/element-balance] [Required: date] [Cost: 10 credits (Tier 1)]

Input Schema

NameRequiredDescriptionDefault
dateYes
timeNo
genderNo
languageNo
timezoneNoIANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known.
longitudeNo
dayBoundaryNo
includeLuckNo
stageSchoolNo
trueSolarTimeNo
timezoneOffsetNoIgnored when timezone is sent.
includeFullTableNo

Output Schema

NameRequiredDescriptionDefault
notesNo
sourceNo
balanceNo
pillarsNo
solarYearNo
disclaimerNo
methodologyNo
deprecationsNo
elementCountsNo
dominantElementNo
missingElementsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.6.0

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds genuinely new behavioral context: a deprecation contract with an exact end date, RFC 8594 Deprecation/Sunset response headers, and the credit cost. It does not discuss error behavior or pagination, but for a computation endpoint that is minor.

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

Conciseness4/5

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

Purpose is front-loaded in the first sentence, followed by the response-shape detail and then the deprecation warning; no sentence is filler. It does spend most of its length on output fields that the output schema already documents, which crowds out input guidance.

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?

Because an output schema exists, explaining `balance`, elementCounts and dominantElement is largely redundant, yet that is where nearly all the words go. For a 12-parameter tool with 17% schema coverage, the description leaves the agent without guidance on which optional inputs to send or how they alter the balance.

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 description coverage is only 17% across 12 parameters, so the description carries the burden of explaining them — and it explains none. Optional inputs that materially change results (dayBoundary, trueSolarTime, stageSchool, includeFullTable, includeLuck, gender, longitude) go unmentioned, and no defaults or interactions are disclosed.

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 names a specific resource and scope: element balance across the whole chart, computed over all eight characters. It is clear what is being produced, though the verb is implicit (compute/return) and no sibling is named — nearby 'element_balance' tools exist in the psychological and synastry families, so a one-clause differentiator would have helped.

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

Usage Guidelines3/5

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

There is implicit guidance: the `balance` object is presented as the thing to read, and the top-level fields are flagged as deprecated with a sunset date, which steers consumers away from them. But nothing says when to call this tool versus alternatives (e.g. astroway_bazi_hidden_stems or astroway_bazi_strength), and no prerequisites are stated beyond '[Required: date]'.

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

Deploy Server

Other Tools