Skip to main content
Glama
astroway

astroway-mcp

Official
by astroway

Yearly Forecast

astroway_bazi_yearly
Read-onlyIdempotent

Compare a target year pillar with the natal day master and year branch to reveal element-flow relations, clashes, and trine support for yearly BaZi analysis.

Instructions

Compares target year pillar against natal day master + natal year branch. Returns element-flow relation (companion / mother / output / control / wealth) per Sheng-Ke cycle, branch clashes (六冲), and trine support (三合).

[Group: BaZi (Four Pillars)] [Endpoint: POST /v1/bazi/yearly] [Required: natalDate, targetYear] [Cost: 10 credits (Tier 1)]

Input Schema

NameRequiredDescriptionDefault
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
natalDateYes
natalTimeNo
targetYearYes
dayBoundaryNo
includeMonthsNo
natalTzOffsetNoIgnored when timezone is sent.
trueSolarTimeNo

Output Schema

NameRequiredDescriptionDefault
notesNo
disclaimerNo
targetYearNo
elementFlowNo
targetPillarNo
natalDayMasterNo
branchInteractionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.6.0

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare this a read-only, idempotent, non-destructive, closed-world call, so the safety profile is covered. The description adds genuine context beyond that: the exact analytic outputs returned, the POST endpoint, and the cost (10 credits, Tier 1), which is operationally relevant for a paid API. It does not mention cache behaviour, latency, or how the returned relations are structured, but the output schema covers the latter.

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?

Two dense sentences followed by a compact metadata block; the core operation and its outputs are front-loaded with no filler prose. The bracketed group/endpoint/cost lines are terse and each carries distinct information. Minor waste in restating the tool group already implied by the name.

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?

An output schema exists, so the return values need not be explained, and the description does describe them anyway. But an 11-parameter, compute-heavy forecast tool with 18% schema coverage and several opaque toggles leaves the agent guessing about the optional inputs that materially change the result. The description should at least state what includeMonths and the timezone parameters do.

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 18% across 11 parameters, so the description carries the burden and largely fails. It confirms only the two required fields (natalDate, targetYear) and is silent on the domain-critical options: dayBoundary, trueSolarTime, includeMonths, natalTime, and the timezone/natalTzOffset interaction. Neither the description nor the schema explains many of these, leaving an agent unable to set them correctly.

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 operation: it compares the target-year pillar against the natal day master and natal year branch, which is a concrete verb-plus-resource statement rather than a restatement of the title. The stated outputs (Sheng-Ke element relation, 六冲 branch clashes, 三合 trine support) are distinctive enough that an agent can tell it apart from generic yearly horoscope tools. It stops short of explicitly distinguishing itself from close siblings like astroway_bazi_monthly or astroway_bazi_year_pillar.

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

Usage Guidelines2/5

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

There is no statement of when to reach for this tool versus the neighbouring BaZi tools (monthly, year_pillar, luck_pillars), and no exclusions or prerequisites. The block of metadata naming required parameters is invocation plumbing, not usage guidance. The agent must infer applicability from the word 'yearly' alone.

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