Skip to main content
Glama
astroway

astroway-mcp

Official
by astroway

Monthly Forecast

astroway_bazi_monthly
Read-onlyIdempotent

Analyzes monthly BaZi Sheng-Ke interactions and branch clashes for a natal chart, resolving the month branch via mid-month jieqi to support time-specific Four Pillars forecasting.

Instructions

Same Sheng-Ke + branch-clash analysis as yearly, but applied to a specific calendar month. Month branch resolved via mid-month jieqi.

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

Input Schema

NameRequiredDescriptionDefault
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
targetMonthYes
natalTzOffsetNoIgnored when timezone is sent.
trueSolarTimeNo

Output Schema

NameRequiredDescriptionDefault
notesNo
disclaimerNo
targetYearNo
elementFlowNo
targetMonthNo
targetPillarNo
natalDayMasterNo
branchInteractionsNo

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 declare the safe read-only, idempotent, closed-world profile, so the bar is lower. The description adds genuinely useful behavioral context beyond them: the 10-credit Tier 1 cost and the fact that the month branch is resolved via mid-month jieqi, which is a meaningful computation convention that affects results. It does not disclose output shape or whether the mid-month rule shifts the effective date range, which keeps it from a 5.

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 front-loaded sentences carry the substance, followed by a compact structured metadata block with group, endpoint, required fields and cost — no filler prose. The required-parameters line is redundant with the schema, which is the only real waste.

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 and full annotations are present, so return values and safety need no explanation. But for a 10-parameter BaZi computation with 20% schema coverage, the description should explain the optional inputs that change the chart (dayBoundary, trueSolarTime, timezone/natalTzOffset interaction, longitude) and does not. An agent can call it, but not reliably well.

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 20% across 10 parameters, so the description carries the burden and largely fails. It repeats the three required fields (natalDate, targetYear, targetMonth) that the schema already marks required, and says nothing about longitude, natalTime, language, dayBoundary (the 23:00 vs midnight enum that materially changes the pillars), trueSolarTime, or natalTzOffset semantics. An agent gets no guidance on the optional parameters that most affect correctness.

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?

It states a specific analysis (Sheng-Ke + branch-clash) applied to a specific scope (a calendar month), which is more than a restatement of the name. It also explicitly positions itself against the yearly variant, so an agent can distinguish the two without opening the schemas. It stops short of a 5 because the sibling is referred to as 'yearly' rather than by tool name, and what the output actually reports is not characterized.

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?

The 'monthly vs yearly' framing implies the selection context, and the metadata block lists required inputs and the 10-credit cost, which helps an agent decide whether to spend the call. However, there is no explicit when-to-use/when-not statement, no mention of related BaZi tools (month_pillar, luck_pillars, interactions) that an agent might pick instead, and no prerequisite about needing an accurate natalDate/time.

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