Skip to main content
Glama

Totally Tarot Calculators

Four pillars (bazi) of a birth

compute_four_pillars
Read-onlyIdempotent

Computes the four pillars (bazi) of a birth: the stem and branch of the year, month, day and hour, and each pair's place in the sixty cycle. Stems and branches only, no interpretation. Takes "date", "time" and "place".

The month changes at the solar terms, and the hour needs the birthplace's historic UTC offset. Without a birth time the call returns a time_required refusal.

Results include an attribution line and a permalink.

Input Schema

NameRequiredDescriptionDefault
dateYesBirth date, ISO YYYY-MM-DD, Dec 1926-2100. Example: "1990-06-15".
timeYesBirth time HH:MM, local at the birthplace. Example: "08:30". Required.
placeYesTown or city of birth with region or country. Example: "Chicago, Illinois, US".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent and closed-world, so the bar is lower, and the description still adds genuinely useful behavior: a time_required refusal when birth time is absent, solar-term month boundaries, dependence on the birthplace's historic UTC offset, and the presence of an attribution line plus permalink in the result. It does not describe result encoding or how an ambiguous place resolves, which keeps it off 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?

Purpose is front-loaded, then scope, inputs, edge cases and output in a sensible progression. The sentence 'Takes "date", "time" and "place"' largely repeats the schema's required list and is the one low-value line.

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?

With no output schema, the description does the work of stating what comes back (stems, branches, sixty-cycle positions, attribution, permalink) and what failure looks like (time_required). Remaining gaps — exact serialization and place-resolution ambiguity — are minor for a read-only calculation tool.

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 formats are already documented and the baseline is 3. The description earns a step up by explaining why place matters — it supplies the historic UTC offset needed for the hour pillar — and by reiterating that time is required, which carries behavioral weight beyond the schema's 'Required.'

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?

States a specific verb and resource (computes the four pillars/bazi of a birth) and enumerates the exact output: year/month/day/hour stems and branches plus each pair's position in the sixty cycle. The clause 'Stems and branches only, no interpretation' sharply delineates it from the interpretation-oriented chart siblings such as compute_birth_chart and compute_heluo_birth_hexagram.

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 'no interpretation' scope implies this is the raw-calculation step rather than a chart reading, and the required inputs are named. But no sibling is named and no explicit when-to-use/when-not condition is given, so the agent must infer the split from compute_birth_chart or convert_chinese_lunar_date.

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