Skip to main content
Glama

AstroWay Astrology API (full catalogue)

Monthly Forecast

astroway_bazi_monthly
Read-onlyIdempotent

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
fieldsNoCompact mode: comma-separated dotted paths to keep, relative to `data`, e.g. "planets.name,planets.longitude,houses.cusp". Omit for the whole response.
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
precisionNoCompact mode: round fractional numbers to this many decimals. Longitudes carry 14 by default; 2 is finer than any chart is drawn.
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. Changed5 schema fields changed
    • addedInput schema / properties / dayBoundary
      Added value: +{
      +  "enum": [
      +    "23:00",
      +    "midnight"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / longitude
      Added value: +{
      +  "maximum": 180,
      +  "minimum": -180,
      +  "type": "number"
      +}
    • addedInput schema / properties / natalTzOffset / description
      Added value: +"Ignored when timezone is sent."
    • addedInput schema / properties / timezone
      Added value: +{
      +  "description": "IANA 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.",
      +  "type": "string"
      +}
    • addedInput schema / properties / trueSolarTime
      Added value: +{
      +  "type": "boolean"
      +}
  2. First observed

TDQS

A3.5/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 safety. Beyond that the description adds a non-obvious methodological fact (month branch resolved via mid-month jieqi) and the cost of 10 credits at Tier 1, which materially affects invocation. It does not cover auth or response shape, but the output schema exists so that is less critical.

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 sentence is front-loaded, followed by compact bracketed metadata for group, endpoint, required params and cost. Every element earns its place with no redundancy.

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?

For a 12-parameter tool the definition gives purpose, endpoint, required inputs and cost, and an output schema exists to cover return values. However, the low parameter coverage means an agent is left without guidance on timezone, dayBoundary, trueSolarTime or natalTzOffset, which are the semantically tricky inputs here.

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 33% (four of twelve params documented), so the description carries the burden of compensating for the undocumented parameters, but it does not. It merely restates the three required parameters already declared in the schema's required list, adding no syntax, format, or interaction semantics.

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 the analytical technique (Sheng-Ke + branch-clash) and the scope that differentiates it (a specific calendar month, resolved via mid-month jieqi). It anchors itself to astroway_bazi_yearly, so an agent can tell it apart from the year-scoped sibling. The only weakness is that it is defined relatively to the yearly tool rather than standing on its own.

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 month scope implies when this tool is appropriate versus a yearly or daily forecast, but usage is only implicit. There are no explicit when/when-not statements and no routing to alternative BaZi forecasting siblings. Adequate but leaves the agent to infer selection.

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.

Resources