Skip to main content
Glama

小道 Xiaodao

排八字 · Bazi chart

bazi_chart
Read-onlyIdempotent

Calculate a full Bazi chart using the Xiaodao engine: four pillars and details, lunar date, auxiliary palaces, month command, luck start and direction, all twelve ten-year cycles with yearly lists, and focused annual/monthly/daily/hourly facts. The default focus is the chart page current instant at the birth place, using its historical time zone and true-solar day boundaries. focusDate selects a local civil date at noon; detailYears {from,to} adds up to ten inclusive years; allDaysOfMonth adds every day of the focused solar-term month. Ranges must fit the pre-luck and twelve-cycle timeline. Months run from Lichun (Yin) through the following Xiaohan (Chou). Year/month pillars compare the actual instant with solar terms; day/hour pillars use true solar time. earlyLateZi defaults to false (23:00 day change); true uses midnight and separates early/late Zi hours. Luck starts from the birth-to-term interval (3 days per year), forward for yang-year males/yin-year females, reverse otherwise. Input is historical wall-clock time, Gregorian or explicit lunar/leap-month date. Repeated times require a user-selected occurrence; nonexistent times are not calculated. Missing birth boundary choices return needs_input. Chart text stays Chinese; English adds a field glossary. This returns chart facts, not an interpretation. Gregorian date range: 1801-01-01 through 2099-12-31. 公历日期范围:1801-01-01 至 2099-12-31。 Lunar input is checked after conversion to Gregorian. 农历输入先换成公历再查。

Input Schema

NameRequiredDescriptionDefault
sexYes
dateYesBirth date, YYYY-MM-DD, in the selected calendar.
timeYesLocal wall-clock time, HH:MM.
placeIdYesBirth place ID returned by search_birth_place.
calendarNoGregorian (SOLAR) or Chinese lunar (LUNAR) input. Lunar input requires an explicit isLeapMonth.SOLAR
languageNoen
focusDateNoLocal civil date at the birth place, evaluated at noon; defaults to the current chart-page instant. Must fall within the supported timeline.
detailYearsNoInclusive calendar-year containers to include in detail, at most ten years, within the supported timeline.
earlyLateZiNoOptional Zi-hour convention. Default false: the day changes at 23:00 true solar time (same as the Xiaodao website default). true keeps the same day until 00:00.
isLeapMonthNoRequired for LUNAR input: whether the supplied lunar month is a leap month.
allDaysOfMonthNoInclude all days of the focused solar-term month, including partial boundary days.
daylightSavingNoOnly supply a user-selected DST choice when the local time occurs twice.
boundaryChoicesNoUser choices for returned time boundaries: SAME uses this time; OTHER uses the other side.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, closed-world, so the bar is lower, yet the description still adds substantive behavior: historical time zone and true-solar day boundaries, 3-days-per-year luck calculation with yang/yin direction rules, pillar comparison against solar terms, and the 1801–2099 supported range. It stops short of describing error payloads or output shape, keeping it at a strong 4.

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?

Front-loaded with purpose and outputs before diving into parameter mechanics, and nearly every clause carries operational information. Minor waste: the trailing bilingual restatement of the Gregorian range (公历日期范围…) duplicates the preceding English sentence.

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

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter, nested-object, no-output-schema tool, the description covers time-zone handling, supported date range, boundary-resolution behavior, and which facts are returned. It does not sketch the response structure at all, which matters somewhat given there is no output schema, but the enumerated deliverables largely compensate.

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 85%, so baseline is 3, but the description adds meaning the schema does not: focusDate is evaluated at noon against the birth place, detailYears is capped at ten inclusive years and must fit the pre-luck/twelve-cycle timeline, and ranges follow Lichun-through-Xiaohan month boundaries. Calendar/leap-month and boundaryChoices semantics are largely left to the schema.

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+resource ("Calculate a full Bazi chart using the Xiaodao engine") and enumerates the concrete outputs: four pillars, lunar date, auxiliary palaces, luck start/direction, twelve cycles, and focused period facts. That level of specificity clearly separates it from siblings like qimen_chart and true_solar_time.

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

Usage Guidelines4/5

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

Gives real operating guidance: focusDate selects a noon local civil date, detailYears adds up to ten inclusive years, allDaysOfMonth expands the solar-term month, and repeated/nonexistent times return needs_input or are not calculated. It also sets expectations with "returns chart facts, not an interpretation." It does not explicitly route between this and qimen_chart, so not a 5.

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