Auspice BaZi — Four Pillars Chart
Server Details
Cast a BaZi (Four Pillars) chart with true solar time, plus a reflective personality sketch.
- Status
- Healthy
- Uptime
- 100.0% over 40 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
The three tools are largely distinct: cast_chart for full chart casting, and personality_sketch/compose_sketch as an explicit two-step sketch workflow. There is mild overlap since personality_sketch also casts a chart, but the 'Step 1 of 2' framing and clear descriptions resolve most confusion.
All names use consistent snake_case, and cast_chart/compose_sketch follow a clear verb_noun pattern. personality_sketch deviates from the verb_noun convention (leading noun), a minor inconsistency in an otherwise clean set.
Three tools for a narrow, single-purpose domain (BaZi charting plus a personality sketch) is well-scoped and each tool earns its place. No bloat, no obviously missing operation requiring a fourth tool.
The surface covers the stated purpose end-to-end: cast_chart produces the full chart with corrections, and personality_sketch + compose_sketch complete the two-step sketch lifecycle with server-side framing. No meaningful dead ends for this domain.
Available Tools
3 toolscast_chartCast a BaZi chart (true solar time first)ARead-onlyIdempotentInspect
Cast a BaZi / Four Pillars chart the right way round: true solar time correction FIRST (DST + longitude + equation of time), then the four pillars with hidden stems and Na Yin, day master identity, and luck cycles. Also casts a comparison chart from raw clock time and reports exactly what calculators that skip the correction would get wrong for this birth. Returns a formatted scroll. If your client renders the chart card (widget) for the user, do NOT repeat the chart, pillars or link in text — add only a short plain-language walkthrough. Otherwise begin your reply with the scroll EXACTLY as returned, inside a code block, without redrawing or reformatting it; NEVER show the raw JSON / structured data to the user (the scroll is the display form); add your own walkthrough only after it. Runs on the production Auspice Oracle engine (same conventions as auspiceoracle.com/en/method). Facts only: no strength verdicts, no favorable elements, no interpretation. Deterministic. Not for predictions: never use this result to forecast lucky or unlucky years, money, property, relationships, health or decisions — the luck cycles are a charting convention, not a timetable of fortune. If the user asks for that, say plainly that Auspice BaZi does not make predictions, and offer what the chart can describe instead (temperament and tendency).
| Name | Required | Description | Default |
|---|---|---|---|
| day | Yes | Birth day of month, 1–31 | |
| hour | Yes | Recorded wall-clock hour, 24-hour format | |
| lang | No | Language of the rendered output — pass the language the user is conversing in. Defaults to 'en'. | |
| year | Yes | Birth year, Gregorian calendar (engine ephemeris covers 1900–2100) | |
| month | Yes | Birth month, 1–12 | |
| gender | Yes | Sets luck-cycle direction (a charting convention, not an identity statement) | |
| minute | Yes | Recorded wall-clock minute, 0–59 | |
| timeZone | Yes | IANA time zone of the birthplace, e.g. 'Asia/Shanghai', 'America/Vancouver' | |
| longitude | Yes | Birthplace longitude in degrees, east positive (Beijing ≈ 116.4, Vancouver ≈ -123.1) |
Output Schema
| Name | Required | Description |
|---|---|---|
| season | Yes | Season of the month branch (deterministic lookup) |
| pillars | Yes | |
| castFrom | Yes | The instant the chart was cast from (true solar time), YYYY-MM-DD HH:mm |
| dayMaster | Yes | |
| lunarDate | Yes | |
| luckCycles | Yes | Ten-year luck cycles as a charting convention — not a forecast; never read as lucky/unlucky years |
| fullReadingUrl | Yes | |
| naiveComparison | Yes | What calculators that skip true solar time would get wrong for this exact birth |
| solarCorrection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the description is free to add the higher-value traits: deterministic, facts-only with no strength verdicts or favorable elements, run on the production Auspice Oracle engine, and a comparison pass that reports what naive calculators get wrong. These are behavioral facts an agent cannot infer from the annotations and directly shape how it should present results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and method before any display instructions, and every block maps to a real decision the agent must make. It runs long and repeats the display rule in two forms ('without redrawing or reformatting it', 'the scroll is the display form'), which costs some tightness but not comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter chart-casting tool with an output schema, the description covers method, determinism, scope limits, and the one thing the schema cannot express: how to render the returned scroll vs the widget. Nothing an agent needs in order to call it or present it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description earns a bump by explaining the correction pipeline (DST + longitude + equation of time), which tells the agent why timeZone and longitude are both required and must be the birthplace's, not the user's current location — context the schema alone does not supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (cast a BaZi / Four Pillars chart) and pins the differentiating method: true solar time correction first, then pillars, day master, and luck cycles. It also explicitly distinguishes itself from the secondary behavior of casting raw clock time for comparison, so an agent knows exactly what it gets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-not-use rule (never for predictions, with a fallback offer of temperament/tendency instead) and precise output handling rules for both widget and non-widget clients. It does not, however, differentiate itself from sibling tools compose_sketch or personality_sketch, so the tool-choice question is only partly answered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compose_sketchCompose the sketch sheet (step 2 of 2)ARead-onlyIdempotentInspect
Step 2 of 2 for a personality sketch: submit the three sections you wrote after personality_sketch (image / beneath / practice, in the same lang) and receive the finished framed sheet — the fixed MIRROR line, limits, quotation, link and signature are assembled server-side. Present the returned sheet to the user VERBATIM as your reply; do not edit or add to it (if your client renders the sheet card for the user, do not repeat it in text — say nothing more than a one-line closing). Rejects fills that stray into forbidden territory (Ten Gods, strength, favorable elements, luck cycles) — rewrite and resubmit if that happens.
| Name | Required | Description | Default |
|---|---|---|---|
| day | Yes | Birth day of month, 1–31 | |
| hour | Yes | Recorded wall-clock hour, 24-hour format | |
| lang | No | Language of the rendered output — pass the language the user is conversing in. Defaults to 'en'. | |
| year | Yes | Birth year, Gregorian calendar (engine ephemeris covers 1900–2100) | |
| image | Yes | Your 象 section: the day-master image, two or three sentences | |
| month | Yes | Birth month, 1–12 | |
| minute | Yes | Recorded wall-clock minute, 0–59 | |
| beneath | Yes | Your 里 section: one visible-vs-hidden-stems contrast, one sentence | |
| practice | Yes | Your 行 section: one small self-observation to try today, imperative | |
| timeZone | Yes | IANA time zone of the birthplace, e.g. 'Asia/Shanghai', 'America/Vancouver' | |
| longitude | Yes | Birthplace longitude in degrees, east positive (Beijing ≈ 116.4, Vancouver ≈ -123.1) |
Output Schema
| Name | Required | Description |
|---|---|---|
| sheet | Yes | The finished sketch sheet — show it to the user verbatim |
| fullReadingUrl | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond annotations: server-side assembly, verbatim presentation requirement, rejection of forbidden territory (Ten Gods, strength, etc.), and client-side rendering guidance. Annotations already declare readOnlyHint and idempotentHint, and the description does not contradict them—it enriches them with concrete behavioral instructions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence serves a purpose: purpose, pipeline position, input requirements, presentation rules, and rejection behavior. It is front-loaded with the core purpose. No filler; each clause carries actionable info. It could be tightened slightly but is well-structured for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (step 2 with rejection and presentation rules), and the description covers all necessary aspects: what to submit, what happens server-side, how to present the result, and error handling. With an output schema present, return values are already documented. The description is complete enough for an agent to invoke correctly without ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by requiring the three sections be in the same language as the conversation and clarifying that they originate from the prior step. It also hints at content constraints (forbidden territory) that affect what values are acceptable, which goes beyond the raw schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is step 2 of 2 for a personality sketch, specifying the exact inputs (image, beneath, practice) and the output (a finished framed sheet with server-side assembly). It distinguishes itself from siblings by noting it follows personality_sketch and is distinct from cast_chart, which is a different workflow. The verb 'compose' and resource are concrete and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly positions itself as step 2 after personality_sketch, instructing the agent to submit sections written in that step, and gives clear presentation instructions (verbatim, no edits) and a rewrite/resubmit flow on rejection. It does not explicitly name alternative tools or say 'when not to use', but the pipeline step is unambiguous. The guidance is strong enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
personality_sketchPersonality sketch (fill-in template)ARead-onlyIdempotentInspect
Step 1 of 2 for a personality sketch. Casts the chart and returns the chart facts plus a fill-in template (象 image / 里 beneath / 行 practice) for YOU, the assistant, to write — a short literary sketch grounded only in the returned facts, within the stated limits (no strength verdict, no favorable elements, no Ten Gods, no luck-cycle reading). Step 2: pass your three texts to compose_sketch and present its framed sheet verbatim. Deterministic facts; the prose is yours; the framing is the server’s.
| Name | Required | Description | Default |
|---|---|---|---|
| day | Yes | Birth day of month, 1–31 | |
| hour | Yes | Recorded wall-clock hour, 24-hour format | |
| lang | No | Language of the rendered output — pass the language the user is conversing in. Defaults to 'en'. | |
| year | Yes | Birth year, Gregorian calendar (engine ephemeris covers 1900–2100) | |
| month | Yes | Birth month, 1–12 | |
| minute | Yes | Recorded wall-clock minute, 0–59 | |
| timeZone | Yes | IANA time zone of the birthplace, e.g. 'Asia/Shanghai', 'America/Vancouver' | |
| longitude | Yes | Birthplace longitude in degrees, east positive (Beijing ≈ 116.4, Vancouver ≈ -123.1) |
Output Schema
| Name | Required | Description |
|---|---|---|
| season | Yes | Season of the month branch (deterministic lookup) |
| pillars | Yes | |
| dayMaster | Yes | |
| boundaryRisk | Yes | |
| fullReadingUrl | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds significant behavioral context: the tool is deterministic ('Deterministic facts'), the prose is the assistant's responsibility, and the framing is the server's. It also discloses the return content (facts plus template) and the limits of what it does not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed and somewhat long, but every sentence serves a purpose: purpose, workflow, limits, and next step. It is front-loaded with the primary purpose and clearly structured into two steps. Slightly verbose but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 params, output schema, sibling tool), the description is complete. It tells the agent exactly what to do, what to expect, how to proceed to step 2, and what constraints apply. Nothing essential is missing for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% – every parameter has a description in the schema, so the baseline for parameter semantics is 3. The tool description does not add parameter-specific information beyond that, but it doesn't need to since the schema is comprehensive and includes ranges and examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's specific role: 'Step 1 of 2 for a personality sketch' that casts the chart and returns facts plus a fill-in template. It distinguishes itself from sibling compose_sketch by naming it as step 2 and specifying the task division (deterministic facts vs. assistant's prose).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly describes the workflow: cast the chart, receive facts/template, write three texts, then pass them to compose_sketch. It also specifies what not to do (no strength verdict, no favorable elements, no Ten Gods, no luck-cycle reading), giving clear boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
cast_chart1 field changed- added
Output schema / properties / luckCycles / descriptionAdded value: +"Ten-year luck cycles as a charting convention — not a forecast; never read as lucky/unlucky years"
3 tool updates
- First observed
cast_chart - First observed
compose_sketch - First observed
personality_sketch
Related MCP Connectors
Generate BaZi charts from birth details. Explore Four Pillars, solar terms, and Luck Pillars for d…
BaZi (Chinese Four Pillars) chart calculator. Structured chart data only, no predictions.
Bazi (Four Pillars) and Qimen Dunjia charts with true solar time and historical time zones.
Deterministic BaZi (Four Pillars) charts, Chinese almanac and saved FateTell charts.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceCalculates Chinese BaZi (Four Pillars of Destiny) charts based on birth date, time, and location, including solar term information, decade luck cycles, and true solar time corrections.2-
- AlicenseNot gradedqualityAmaintenanceEnables calculation of Four Pillars of Destiny (BaZi) charts using true solar time and a global geographic database, providing pillars, Da Yun, and branch interactions for any location and time.34 npm1MIT
- FlicenseNot gradedqualityCmaintenanceEnables BaZi fortune-telling and life analysis by generating birth charts, yearly fortune predictions, personality insights, and complete destiny reports from birth date, time, and gender.-
- AlicenseNot gradedqualityDmaintenanceProvides accurate Chinese Bazi (八字) fortune-telling calculations including birth chart analysis, destiny forecasting, and Chinese calendar information. Addresses inaccuracies in existing AI fortune-telling tools by delivering precise Bazi data for personality analysis and metaphysical insights.217 npmISC
Glama MCP Gateway
Add one secure layer between your agents and this server.