true-solar-time-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@true-solar-time-mcpConvert 1988-07-01 08:00 Asia/Shanghai at longitude 121.47 to true solar time"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
true-solar-time-mcp
True solar time correction for BaZi / Four Pillars charts — the step most calculators skip.
An MCP server, CLI, and TypeScript library that converts a recorded birth time (wall clock + IANA time zone + longitude) into the sun's actual time at the birthplace. Deterministic: same input, same output, every time.
$ npx true-solar-time 1988-07-01 08:00 Asia/Shanghai 121.47
clock time 1988-07-01 08:00 (Asia/Shanghai, DST GMT+9)
true solar 1988-07-01 07:02
correction -58 min
DST -60
longitude +6
eq. of time -4
hour branch 辰 (2 min from 卯)
⚠ within 8 min of a branch boundary — cast both candidatesWhy this exists
A BaZi chart is a function of the sun's position, but birth records are written in civil clock time. Between the two sit three corrections that nearly every chart tool — including the popular open-source LLM "skills" — silently skips:
Historical DST. China observed daylight saving time from 1986 to 1991. Everyone born in those six summers has a birth certificate recording a clock moved forward one hour — enough to cross an entire hour branch, and at the right time of night, the day pillar too. The IANA/ICU time-zone database knows this; most calculators never ask it.
Longitude. China spans four geographic time zones and runs on one clock. At 07:10 Beijing time in Ürümqi, local solar time is barely past 05:00 — two full branches away.
Equation of time. True and mean solar time drift apart by up to ±16 minutes over the year (NOAA approximation here, error well under a minute). In early November it alone can move a chart across a branch boundary.
This library also reports two things most tools won't tell you:
Whether your birth time ever existed. On a spring-forward night the local clock jumps from 01:59 to 03:00; a birth record saying 02:30 refers to no real instant. We detect the gap, report its width, and never silently guess.
How close the corrected time sits to a branch boundary. Within a few minutes, the honest answer is "cast both candidates", not false precision.
Related MCP server: BaZi (Eight Characters) Calculator
What it deliberately does not do
It does not cast charts, pick favorable elements, or interpret anything. Casting is a solved problem with good open-source implementations; interpretation has no unique right answer and doesn't belong in a lookup library. One step, done carefully.
The full methodology — every constant, threshold, and convention, including the ones this library uses — is published at auspiceoracle.com/en/method. Three worked examples with full derivations: the birth-time test. Background essay: true solar time.
MCP server
Hosted endpoint (no install): https://auspiceoracle.com/mcp — stateless streamable HTTP, no auth. Works as a claude.ai custom connector or in any MCP client that speaks streamable HTTP:
{
"mcpServers": {
"true-solar-time": { "url": "https://auspiceoracle.com/mcp" }
}
}Local (stdio):
{
"mcpServers": {
"true-solar-time": {
"command": "npx",
"args": ["-y", "true-solar-time-mcp"]
}
}
}Tools:
true_solar_time— full correction: corrected instant, DST/longitude/EoT breakdown (the three always sum exactly to the total), hour branch, boundary distance, nonexistent-time detection.hour_branch— branch membership and boundary distance for an already-corrected time.
The hosted endpoint additionally exposes cast_pillars — solar-corrected four pillars with hidden stems, Na Yin and luck cycles, computed by the production Auspice Oracle engine (closed source; same conventions as the published methodology). Facts only — no strength verdicts, no interpretation.
If you're building a BaZi skill or agent: call true_solar_time before casting, and pass the corrected time to your caster. An LLM cannot do this conversion in-context — the equation of time is a trigonometric series and the DST history lives in a database, not in model weights.
Library
import { toTrueSolarTime } from 'true-solar-time-mcp'
const r = toTrueSolarTime(1992, 6, 15, 7, 10, 'Asia/Shanghai', 87.6)
// r.hour === 4, r.minute === 59, r.correctionMinutes === -130
// r.hourBranch === '寅' — two branches away from what the clock saysConventions, stated plainly
Hour branches switch on odd hours (子 starts at 23:00), 120 minutes each.
The boundary-risk flag uses an 8-minute threshold. That is a convention, not physics — tune it to your own tolerance; near-boundary charts should be cast both ways regardless.
Historical time zones come from your runtime's ICU data (Node ≥ 18). We do not maintain our own tables.
When the standard offset itself changed mid-year (Russia 2011), the DST/longitude split of the breakdown can attribute imperfectly; the total correction is always computed from the actual offset and is unaffected.
Relationship to auspiceoracle.com
This is an extracted mirror of the solar-time layer of the engine behind Auspice Oracle. The main engine is the source of truth; the golden tests here pin this mirror to the same published examples. Bug reports are very welcome; PRs that change the conventions above will be declined (a convention fork would make the published methodology untrue).
MIT © Shan Liu
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables generation of detailed Chinese Ziwei Doushu (Purple Star) astrological charts with geographic location support and true solar time conversion. Provides tools for geocoding locations, converting Beijing time to apparent solar time, and creating comprehensive astrology readings based on birth information.1013MIT
- 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

OpenFate Bazi MCPofficial
AlicenseAqualityAmaintenanceEnables AI agents to calculate deterministic Bazi (Four Pillars) charts with True Solar Time and Earthly Branch interactions, avoiding LLM hallucination of calendrical math.6182122MIT- AlicenseNot gradedqualityCmaintenanceConverts civil time to true solar time and audits whether civil and solar times cross Chinese 时辰 boundaries, for time-sensitive divination workflows.MIT
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.
Sub-arcsecond ephemeris and astrology on NASA JPL DE440: natal, transits, eclipses, Human Design.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Shann5/true-solar-time-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server