Auspice BaZi MCP
This MCP server allows AI agents to cast a BaZi (Four Pillars of Destiny) chart using true solar time, retrieve hidden stems, Na Yin, and luck cycles, and generate a reflective personality sketch based on the computed chart facts. It operates as a deterministic engine without requiring an account or API key.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://auspiceoracle.com/mcp/baziWhat its tools do
3 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (3)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to auspiceoracle.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Cast a BaZi chart from birth time and location
- Retrieve hidden stems and luck cycles
- Generate a reflective personality sketch
Source and maintenance
Protocol and capabilities
- Server
- auspice-bazi 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 3 advertised
- Resources
- 2 advertised
- Resource templates
- 0 advertised
- Prompts
- 3 advertised
{
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Tools
3 advertised
cast_chart — Cast a BaZi chart (true solar time first)
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).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"year",
"month",
"day",
"hour",
"minute",
"timeZone",
"longitude",
"gender"
],
"properties": {
"day": {
"type": "integer",
"maximum": 31,
"minimum": 1,
"description": "Birth day of month, 1–31"
},
"hour": {
"type": "integer",
"maximum": 23,
"minimum": 0,
"description": "Recorded wall-clock hour, 24-hour format"
},
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"description": "Language of the rendered output — pass the language the user is conversing in. Defaults to 'en'."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 1900,
"description": "Birth year, Gregorian calendar (engine ephemeris covers 1900–2100)"
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "Birth month, 1–12"
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Sets luck-cycle direction (a charting convention, not an identity statement)"
},
"minute": {
"type": "integer",
"maximum": 59,
"minimum": 0,
"description": "Recorded wall-clock minute, 0–59"
},
"timeZone": {
"type": "string",
"description": "IANA time zone of the birthplace, e.g. 'Asia/Shanghai', 'America/Vancouver'"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Birthplace longitude in degrees, east positive (Beijing ≈ 116.4, Vancouver ≈ -123.1)"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pillars",
"dayMaster",
"season",
"lunarDate",
"castFrom",
"solarCorrection",
"naiveComparison",
"luckCycles",
"fullReadingUrl"
],
"properties": {
"season": {
"type": "object",
"required": [
"monthBranch",
"zh",
"en"
],
"properties": {
"en": {
"type": "string"
},
"zh": {
"type": "string"
},
"monthBranch": {
"type": "string"
}
},
"description": "Season of the month branch (deterministic lookup)",
"additionalProperties": false
},
"pillars": {
"type": "object",
"required": [
"year",
"month",
"day",
"hour"
],
"properties": {
"day": {
"type": "object",
"required": [
"ganZhi",
"hiddenStems",
"naYin",
"naYinEn"
],
"properties": {
"naYin": {
"type": "string",
"description": "Na Yin of the pillar (Chinese)"
},
"ganZhi": {
"type": "string",
"description": "Stem-branch pair, e.g. 庚午"
},
"naYinEn": {
"type": "string",
"description": "Na Yin, site-locked English name"
},
"hiddenStems": {
"type": "array",
"items": {
"type": "string"
},
"description": "Hidden stems of the branch, principal qi first"
}
},
"additionalProperties": false
},
"hour": {
"type": "object",
"required": [
"ganZhi",
"hiddenStems",
"naYin",
"naYinEn"
],
"properties": {
"naYin": {
"type": "string",
"description": "Na Yin of the pillar (Chinese)"
},
"ganZhi": {
"type": "string",
"description": "Stem-branch pair, e.g. 庚午"
},
"naYinEn": {
"type": "string",
"description": "Na Yin, site-locked English name"
},
"hiddenStems": {
"type": "array",
"items": {
"type": "string"
},
"description": "Hidden stems of the branch, principal qi first"
}
},
"additionalProperties": false
},
"year": {
"type": "object",
"required": [
"ganZhi",
"hiddenStems",
"naYin",
"naYinEn"
],
"properties": {
"naYin": {
"type": "string",
"description": "Na Yin of the pillar (Chinese)"
},
"ganZhi": {
"type": "string",
"description": "Stem-branch pair, e.g. 庚午"
},
"naYinEn": {
"type": "string",
"description": "Na Yin, site-locked English name"
},
"hiddenStems": {
"type": "array",
"items": {
"type": "string"
},
"description": "Hidden stems of the branch, principal qi first"
}
},
"additionalProperties": false
},
"month": {
"type": "object",
"required": [
"ganZhi",
"hiddenStems",
"naYin",
"naYinEn"
],
"properties": {
"naYin": {
"type": "string",
"description": "Na Yin of the pillar (Chinese)"
},
"ganZhi": {
"type": "string",
"description": "Stem-branch pair, e.g. 庚午"
},
"naYinEn": {
"type": "string",
"description": "Na Yin, site-locked English name"
},
"hiddenStems": {
"type": "array",
"items": {
"type": "string"
},
"description": "Hidden stems of the branch, principal qi first"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"castFrom": {
"type": "string",
"description": "The instant the chart was cast from (true solar time), YYYY-MM-DD HH:mm"
},
"dayMaster": {
"type": "object",
"required": [
"gan",
"pinyin",
"element",
"elementEn",
"emoji",
"image",
"imageEn",
"motto",
"mottoEn"
],
"properties": {
"gan": {
"type": "string"
},
"emoji": {
"type": "string",
"description": "Identity-seal emoji for the day master (ten-stem lookup)"
},
"image": {
"type": "string",
"description": "Traditional image of the stem, e.g. 钗钏之金"
},
"motto": {
"type": "string",
"description": "Fixed brand motto for this day master (Chinese)"
},
"pinyin": {
"type": "string"
},
"element": {
"type": "string",
"description": "Five-element of the day stem (Chinese)"
},
"imageEn": {
"type": "string"
},
"mottoEn": {
"type": "string"
},
"elementEn": {
"type": "string"
}
},
"additionalProperties": false
},
"lunarDate": {
"type": "string"
},
"luckCycles": {
"type": "object",
"required": [
"startSolarDate",
"cycles"
],
"properties": {
"cycles": {
"type": "array",
"items": {
"type": "object",
"required": [
"ganZhi",
"startAge",
"endAge",
"startYear",
"endYear"
],
"properties": {
"endAge": {
"type": "number"
},
"ganZhi": {
"type": "string"
},
"endYear": {
"type": "number"
},
"startAge": {
"type": "number"
},
"startYear": {
"type": "number"
}
},
"additionalProperties": false
}
},
"startSolarDate": {
"type": "string"
}
},
"description": "Ten-year luck cycles as a charting convention — not a forecast; never read as lucky/unlucky years",
"additionalProperties": false
},
"fullReadingUrl": {
"type": "string"
},
"naiveComparison": {
"type": "object",
"required": [
"differs",
"pillarsChanged",
"hourBranchShift"
],
"properties": {
"differs": {
"type": "boolean",
"description": "True when a chart cast from raw clock time (no solar correction) would differ"
},
"pillarsChanged": {
"type": "array",
"items": {
"type": "string"
},
"description": "Which pillars differ, e.g. ['hour']"
},
"hourBranchShift": {
"anyOf": [
{
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string"
},
"from": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Hour-branch move caused by the correction (naive → corrected), null if unchanged"
}
},
"description": "What calculators that skip true solar time would get wrong for this exact birth",
"additionalProperties": false
},
"solarCorrection": {
"type": "object",
"required": [
"correctionMinutes",
"parts",
"minutesToBoundary",
"boundaryRisk",
"nonexistentWallTime"
],
"properties": {
"parts": {
"type": "object",
"required": [
"dstMinutes",
"longitudeMinutes",
"equationOfTimeMinutes"
],
"properties": {
"dstMinutes": {
"type": "number"
},
"longitudeMinutes": {
"type": "number"
},
"equationOfTimeMinutes": {
"type": "number"
}
},
"additionalProperties": false
},
"boundaryRisk": {
"type": "boolean",
"description": "Within 8 min of an hour-branch boundary"
},
"correctionMinutes": {
"type": "number",
"description": "Total correction; the three parts sum exactly to it"
},
"minutesToBoundary": {
"type": "number"
},
"nonexistentWallTime": {
"type": "object",
"required": [
"hit",
"gapMinutes"
],
"properties": {
"hit": {
"type": "boolean"
},
"gapMinutes": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Cast a BaZi chart (true solar time first)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}personality_sketch — Personality sketch (fill-in template)
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"year",
"month",
"day",
"hour",
"minute",
"timeZone",
"longitude"
],
"properties": {
"day": {
"type": "integer",
"maximum": 31,
"minimum": 1,
"description": "Birth day of month, 1–31"
},
"hour": {
"type": "integer",
"maximum": 23,
"minimum": 0,
"description": "Recorded wall-clock hour, 24-hour format"
},
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"description": "Language of the rendered output — pass the language the user is conversing in. Defaults to 'en'."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 1900,
"description": "Birth year, Gregorian calendar (engine ephemeris covers 1900–2100)"
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "Birth month, 1–12"
},
"minute": {
"type": "integer",
"maximum": 59,
"minimum": 0,
"description": "Recorded wall-clock minute, 0–59"
},
"timeZone": {
"type": "string",
"description": "IANA time zone of the birthplace, e.g. 'Asia/Shanghai', 'America/Vancouver'"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Birthplace longitude in degrees, east positive (Beijing ≈ 116.4, Vancouver ≈ -123.1)"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dayMaster",
"pillars",
"season",
"boundaryRisk",
"fullReadingUrl"
],
"properties": {
"season": {
"type": "object",
"required": [
"monthBranch",
"zh",
"en"
],
"properties": {
"en": {
"type": "string"
},
"zh": {
"type": "string"
},
"monthBranch": {
"type": "string"
}
},
"description": "Season of the month branch (deterministic lookup)",
"additionalProperties": false
},
"pillars": {
"type": "object",
"required": [
"year",
"month",
"day",
"hour"
],
"properties": {
"day": {
"type": "object",
"required": [
"ganZhi",
"hiddenStems",
"naYin",
"naYinEn"
],
"properties": {
"naYin": {
"type": "string",
"description": "Na Yin of the pillar (Chinese)"
},
"ganZhi": {
"type": "string",
"description": "Stem-branch pair, e.g. 庚午"
},
"naYinEn": {
"type": "string",
"description": "Na Yin, site-locked English name"
},
"hiddenStems": {
"type": "array",
"items": {
"type": "string"
},
"description": "Hidden stems of the branch, principal qi first"
}
},
"additionalProperties": false
},
"hour": {
"type": "object",
"required": [
"ganZhi",
"hiddenStems",
"naYin",
"naYinEn"
],
"properties": {
"naYin": {
"type": "string",
"description": "Na Yin of the pillar (Chinese)"
},
"ganZhi": {
"type": "string",
"description": "Stem-branch pair, e.g. 庚午"
},
"naYinEn": {
"type": "string",
"description": "Na Yin, site-locked English name"
},
"hiddenStems": {
"type": "array",
"items": {
"type": "string"
},
"description": "Hidden stems of the branch, principal qi first"
}
},
"additionalProperties": false
},
"year": {
"type": "object",
"required": [
"ganZhi",
"hiddenStems",
"naYin",
"naYinEn"
],
"properties": {
"naYin": {
"type": "string",
"description": "Na Yin of the pillar (Chinese)"
},
"ganZhi": {
"type": "string",
"description": "Stem-branch pair, e.g. 庚午"
},
"naYinEn": {
"type": "string",
"description": "Na Yin, site-locked English name"
},
"hiddenStems": {
"type": "array",
"items": {
"type": "string"
},
"description": "Hidden stems of the branch, principal qi first"
}
},
"additionalProperties": false
},
"month": {
"type": "object",
"required": [
"ganZhi",
"hiddenStems",
"naYin",
"naYinEn"
],
"properties": {
"naYin": {
"type": "string",
"description": "Na Yin of the pillar (Chinese)"
},
"ganZhi": {
"type": "string",
"description": "Stem-branch pair, e.g. 庚午"
},
"naYinEn": {
"type": "string",
"description": "Na Yin, site-locked English name"
},
"hiddenStems": {
"type": "array",
"items": {
"type": "string"
},
"description": "Hidden stems of the branch, principal qi first"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"dayMaster": {
"type": "object",
"required": [
"gan",
"pinyin",
"element",
"elementEn",
"emoji",
"image",
"imageEn",
"motto",
"mottoEn"
],
"properties": {
"gan": {
"type": "string"
},
"emoji": {
"type": "string",
"description": "Identity-seal emoji for the day master (ten-stem lookup)"
},
"image": {
"type": "string",
"description": "Traditional image of the stem, e.g. 钗钏之金"
},
"motto": {
"type": "string",
"description": "Fixed brand motto for this day master (Chinese)"
},
"pinyin": {
"type": "string"
},
"element": {
"type": "string",
"description": "Five-element of the day stem (Chinese)"
},
"imageEn": {
"type": "string"
},
"mottoEn": {
"type": "string"
},
"elementEn": {
"type": "string"
}
},
"additionalProperties": false
},
"boundaryRisk": {
"type": "boolean"
},
"fullReadingUrl": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Personality sketch (fill-in template)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compose_sketch — Compose the sketch sheet (step 2 of 2)
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.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"year",
"month",
"day",
"hour",
"minute",
"timeZone",
"longitude",
"image",
"beneath",
"practice"
],
"properties": {
"day": {
"type": "integer",
"maximum": 31,
"minimum": 1,
"description": "Birth day of month, 1–31"
},
"hour": {
"type": "integer",
"maximum": 23,
"minimum": 0,
"description": "Recorded wall-clock hour, 24-hour format"
},
"lang": {
"enum": [
"en",
"zh"
],
"type": "string",
"description": "Language of the rendered output — pass the language the user is conversing in. Defaults to 'en'."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 1900,
"description": "Birth year, Gregorian calendar (engine ephemeris covers 1900–2100)"
},
"image": {
"type": "string",
"maxLength": 600,
"minLength": 10,
"description": "Your 象 section: the day-master image, two or three sentences"
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "Birth month, 1–12"
},
"minute": {
"type": "integer",
"maximum": 59,
"minimum": 0,
"description": "Recorded wall-clock minute, 0–59"
},
"beneath": {
"type": "string",
"maxLength": 400,
"minLength": 10,
"description": "Your 里 section: one visible-vs-hidden-stems contrast, one sentence"
},
"practice": {
"type": "string",
"maxLength": 160,
"minLength": 4,
"description": "Your 行 section: one small self-observation to try today, imperative"
},
"timeZone": {
"type": "string",
"description": "IANA time zone of the birthplace, e.g. 'Asia/Shanghai', 'America/Vancouver'"
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "Birthplace longitude in degrees, east positive (Beijing ≈ 116.4, Vancouver ≈ -123.1)"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sheet",
"fullReadingUrl"
],
"properties": {
"sheet": {
"type": "string",
"description": "The finished sketch sheet — show it to the user verbatim"
},
"fullReadingUrl": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Compose the sketch sheet (step 2 of 2)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
3 advertised
personality_sketch — Personality sketch · 性格速写
A short literary personality sketch from your BaZi chart — a mirror, not a prophecy.
cast_my_chart — Cast my chart · 批一张盘
Four Pillars cast from true solar time, with luck cycles — facts only.
check_my_hour — Is my hour pillar right? · 我的时辰排对了吗
Whether true solar time (DST, longitude) moves your birth into a different two-hour branch.
Resources
2 advertised
chart-scroll — Renders the BaZi chart scroll for the user: day-master identity card, true-solar-time correction timeline with warnings, the four pillars with hidden stems and Na Yin, season, luck cycles, and the "Unroll the full scroll" link. The user already sees all of this — do not repeat the chart in text.
Renders the BaZi chart scroll for the user: day-master identity card, true-solar-time correction timeline with warnings, the four pillars with hidden stems and Na Yin, season, luck cycles, and the "Unroll the full scroll" link. The user already sees all of this — do not repeat the chart in text.
ui://auspice-bazi/chart-scroll.htmlsketch-sheet — Renders the finished personality-sketch sheet for the user: the four sections (image / beneath / practice / mirror), the limits line, the Liezi quotation, the "Unroll the full scroll" link and signature. The user already sees the whole sheet — do not repeat it in text.
Renders the finished personality-sketch sheet for the user: the four sections (image / beneath / practice / mirror), the limits line, the Liezi quotation, the "Unroll the full scroll" link and signature. The user already sees the whole sheet — do not repeat it in text.
ui://auspice-bazi/sketch-sheet.html90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 865 ms
- 95th percentile latency
- 865 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 865 ms · metadata changed · 3 tool(s), 2 resource(s), 0 resource template(s), 3 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http auspice-bazi-mcp https://auspiceoracle.com/mcp/baziCodex
codex mcp add auspice-bazi-mcp --url https://auspiceoracle.com/mcp/baziCursor
{
"mcpServers": {
"auspice-bazi-mcp": {
"url": "https://auspiceoracle.com/mcp/bazi"
}
}
}Cline
{
"mcpServers": {
"auspice-bazi-mcp": {
"type": "streamableHttp",
"url": "https://auspiceoracle.com/mcp/bazi",
"disabled": false
}
}
}VS Code
{
"servers": {
"auspice-bazi-mcp": {
"type": "http",
"url": "https://auspiceoracle.com/mcp/bazi"
}
}
}Gemini CLI
gemini mcp add --transport http auspice-bazi-mcp https://auspiceoracle.com/mcp/baziClaude Desktop
https://auspiceoracle.com/mcp/baziWindsurf
{
"mcpServers": {
"auspice-bazi-mcp": {
"serverUrl": "https://auspiceoracle.com/mcp/bazi"
}
}
}Let your agent find its tools
Find servers like Auspice BaZi MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Auspice BaZi MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.