Skip to main content
Glama

Auspice BaZi — Four Pillars Chart

Server Details

Cast a BaZi (Four Pillars / 八字) chart the right way round: true solar time correction first (DST, longitude, equation of time), then the four pillars, hidden stems, nayin and luck-cycle sequence. Also offers a two-step personality sketch framed as self-reflection, not prediction. No auth; English and Chinese.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation4/5

The three tools are mostly distinct: cast_chart is the standalone chart casting tool, while personality_sketch and compose_sketch are clearly labeled as step 1 and step 2 of a personality sketch workflow. There is mild overlap because personality_sketch also casts a chart, which could cause confusion for a simple chart request, but the step labels and different outputs largely resolve this.

Naming Consistency4/5

All tool names are lowercase snake_case and readable, with cast_chart and compose_sketch following an imperative verb_noun pattern. personality_sketch breaks the verb-first pattern, but it still clearly names its object and shares the '_sketch' suffix with compose_sketch, making this a minor deviation rather than a mixed or chaotic convention.

Tool Count5/5

Three tools is a compact but appropriate surface for this server: one standalone chart casting tool and two necessary steps in the personality sketch workflow. Each tool has a distinct server-side responsibility and none feels redundant.

Completeness5/5

The apparent domain is BaZi chart casting plus the two-step personality sketch workflow, and both are fully covered with no dead ends. cast_chart handles corrections, pillars, and luck cycles, while personality_sketch and compose_sketch form a complete loop from template to finished framed output.

Available Tools

3 tools
cast_chartCast a BaZi chart (true solar time first)A
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dayYesBirth day of month, 1–31
hourYesRecorded wall-clock hour, 24-hour format
langNoLanguage of the rendered output — pass the language the user is conversing in. Defaults to 'en'.
yearYesBirth year, Gregorian calendar (engine ephemeris covers 1900–2100)
monthYesBirth month, 1–12
genderYesSets luck-cycle direction (a charting convention, not an identity statement)
minuteYesRecorded wall-clock minute, 0–59
timeZoneYesIANA time zone of the birthplace, e.g. 'Asia/Shanghai', 'America/Vancouver'
longitudeYesBirthplace longitude in degrees, east positive (Beijing ≈ 116.4, Vancouver ≈ -123.1)

Output Schema

ParametersJSON Schema
NameRequiredDescription
seasonYesSeason of the month branch (deterministic lookup)
pillarsYes
castFromYesThe instant the chart was cast from (true solar time), YYYY-MM-DD HH:mm
dayMasterYes
lunarDateYes
luckCyclesYes
fullReadingUrlYes
naiveComparisonYesWhat calculators that skip true solar time would get wrong for this exact birth
solarCorrectionYes

TDQS

A4.2/5.0
Behavior5/5

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

Annotations declare readOnly/idempotent/non-destructive, and the description reinforces and extends these honestly: it asserts 'Deterministic', names the production engine and conventions, explicitly excludes interpretation ('Facts only: no strength verdicts, no favorable elements'), and dictates the never-show-raw-JSON rule. This is rich behavioral disclosure fully consistent with the annotations — no contradiction.

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?

The description is long but every sentence earns its place: correction order, output contents, presentation routing, exclusions, engine reference, determinism, and the JSON never-display rule are all load-bearing for correct invocation. Purpose is front-loaded ahead of the formatting constraints. Slightly dense, but appropriately so for a tool with complex presentation requirements.

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

Completeness5/5

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

Exceptionally complete given the complexity: an output schema exists, all 9 parameters are documented, and the description covers purpose, correction mechanics, output composition, presentation rules, behavioral exclusions, engine provenance, and determinism. Nothing an agent needs to call it correctly and format the result safely is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema documents every parameter. The description adds genuine interconnect value by explaining that timeZone + longitude feed the true-solar-time correction pipeline, which gives semantic meaning beyond individual field definitions. This is a modest value-add over a complete schema, so the baseline 3 holds.

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 ('Cast a BaZi / Four Pillars chart the right way round') and immediately names the defining constraint (true solar time correction FIRST). The title reinforces the differentiator. Purpose is unambiguous and self-evidently distinct from the sibling tools compose_sketch and personality_sketch.

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?

Provides solid operational guidance on how to present output (the card-widget vs. raw-scroll branches, never showing raw JSON), which is a form of usage context. However, it never names alternatives or exclusion conditions — there is no 'use X instead when Y' guidance relative to compose_sketch or personality_sketch. The when-to-use context is implied by the tool's specificity rather than stated.

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)A
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dayYesBirth day of month, 1–31
hourYesRecorded wall-clock hour, 24-hour format
langNoLanguage of the rendered output — pass the language the user is conversing in. Defaults to 'en'.
yearYesBirth year, Gregorian calendar (engine ephemeris covers 1900–2100)
imageYesYour 象 section: the day-master image, two or three sentences
monthYesBirth month, 1–12
minuteYesRecorded wall-clock minute, 0–59
beneathYesYour 里 section: one visible-vs-hidden-stems contrast, one sentence
practiceYesYour 行 section: one small self-observation to try today, imperative
timeZoneYesIANA time zone of the birthplace, e.g. 'Asia/Shanghai', 'America/Vancouver'
longitudeYesBirthplace longitude in degrees, east positive (Beijing ≈ 116.4, Vancouver ≈ -123.1)

Output Schema

ParametersJSON Schema
NameRequiredDescription
sheetYesThe finished sketch sheet — show it to the user verbatim
fullReadingUrlYes

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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)A
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dayYesBirth day of month, 1–31
hourYesRecorded wall-clock hour, 24-hour format
langNoLanguage of the rendered output — pass the language the user is conversing in. Defaults to 'en'.
yearYesBirth year, Gregorian calendar (engine ephemeris covers 1900–2100)
monthYesBirth month, 1–12
minuteYesRecorded wall-clock minute, 0–59
timeZoneYesIANA time zone of the birthplace, e.g. 'Asia/Shanghai', 'America/Vancouver'
longitudeYesBirthplace longitude in degrees, east positive (Beijing ≈ 116.4, Vancouver ≈ -123.1)

Output Schema

ParametersJSON Schema
NameRequiredDescription
seasonYesSeason of the month branch (deterministic lookup)
pillarsYes
dayMasterYes
boundaryRiskYes
fullReadingUrlYes

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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. 3 tool updates
    • First observedcast_chart
    • First observedcompose_sketch
    • First observedpersonality_sketch

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    7 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources