Skip to main content
Glama
true-solar-time-mcp

true-solar-time-mcp

true-solar-time-mcp

Corrección de la hora solar verdadera para cartas BaZi / Cuatro Pilares: el paso que la mayoría de las calculadoras omiten.

Un servidor MCP, CLI y biblioteca TypeScript que convierte una hora de nacimiento registrada (reloj de pared + zona horaria IANA + longitud) en la hora real del sol en el lugar de nacimiento. Determinista: misma entrada, misma salida, siempre.

$ 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 candidates

Por qué existe esto

Una carta BaZi es función de la posición del sol, pero los registros de nacimiento se escriben en hora civil. Entre ambas se sitúan tres correcciones que casi todas las herramientas de cartas —incluidas las populares "skills" de LLM de código abierto— omiten silenciosamente:

  1. Horario de verano histórico. China observó el horario de verano de 1986 a 1991. Todos los nacidos en esos seis veranos tienen un certificado de nacimiento que registra un reloj adelantado una hora, suficiente para cruzar una rama horaria completa y, en el momento adecuado de la noche, también el pilar del día. La base de datos de zonas horarias IANA/ICU lo sabe; la mayoría de las calculadoras nunca lo consultan.

  2. Longitud. China abarca cuatro zonas horarias geográficas y funciona con un solo reloj. A las 07:10 hora de Pekín en Ürümqi, la hora solar local apenas supera las 05:00, dos ramas completas de diferencia.

  3. Ecuación del tiempo. El tiempo solar verdadero y el medio se separan hasta ±16 minutos a lo largo del año (aproximación NOAA aquí, error muy por debajo de un minuto). A principios de noviembre, por sí sola puede mover una carta a través de un límite de rama.

Esta biblioteca también informa de dos cosas que la mayoría de las herramientas no te dirán:

  • Si tu hora de nacimiento existió alguna vez. En una noche de adelanto de reloj, el reloj local salta de 01:59 a 03:00; un registro de nacimiento que dice 02:30 se refiere a un instante inexistente. Detectamos el hueco, informamos de su anchura y nunca adivinamos en silencio.

  • Cuán cerca está la hora corregida de un límite de rama. A pocos minutos de distancia, la respuesta honesta es "calcula ambos candidatos", no una falsa precisión.

Related MCP server: OpenFate Bazi MCP

Lo que deliberadamente no hace

No calcula cartas, no elige elementos favorables ni interpreta nada. El cálculo de cartas es un problema resuelto con buenas implementaciones de código abierto; la interpretación no tiene una respuesta única correcta y no pertenece a una biblioteca de consulta. Un paso, hecho con cuidado.

La metodología completa —cada constante, umbral y convención, incluidas las que usa esta biblioteca— está publicada en auspiceoracle.com/en/method. Tres ejemplos resueltos con derivaciones completas: la prueba de hora de nacimiento. Ensayo de fondo: hora solar verdadera.

Servidor MCP

Endpoint alojado (sin instalación): https://auspiceoracle.com/mcp — HTTP de flujo sin estado, sin autenticación. Funciona como conector personalizado de claude.ai o en cualquier cliente MCP que hable HTTP de flujo:

{
  "mcpServers": {
    "true-solar-time": { "url": "https://auspiceoracle.com/mcp" }
  }
}

Local (stdio):

{
  "mcpServers": {
    "true-solar-time": {
      "command": "npx",
      "args": ["-y", "true-solar-time-mcp"]
    }
  }
}

Herramientas:

  • true_solar_time — corrección completa: instante corregido, desglose de DST/longitud/EoT (los tres siempre suman exactamente el total), rama horaria, distancia al límite, detección de tiempo inexistente.

  • hour_branch — pertenencia a rama y distancia al límite para un tiempo ya corregido.

El endpoint alojado además expone cast_pillars — cuatro pilares corregidos solarmente con tallos ocultos, Na Yin y ciclos de suerte, calculados por el motor de producción de Auspice Oracle (código cerrado; mismas convenciones que la metodología publicada). Solo hechos, sin veredictos de fuerza ni interpretación.

Si estás construyendo una skill o agente BaZi: llama a true_solar_time antes de calcular, y pasa el tiempo corregido a tu calculador. Un LLM no puede hacer esta conversión en contexto: la ecuación del tiempo es una serie trigonométrica y la historia del DST vive en una base de datos, no en los pesos del modelo.

Biblioteca

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 says

Convenciones, expresadas claramente

  • Las ramas horarias cambian en horas impares (子 comienza a las 23:00), 120 minutos cada una.

  • El indicador de riesgo de límite usa un umbral de 8 minutos. Eso es una convención, no física: ajústalo a tu propia tolerancia; las cartas cercanas a un límite deben calcularse de ambas maneras de todos modos.

  • Las zonas horarias históricas provienen de los datos ICU de tu runtime (Node ≥ 18). No mantenemos nuestras propias tablas.

  • Cuando el offset estándar en sí cambió a mitad de año (Rusia 2011), la división DST/longitud del desglose puede atribuir de manera imperfecta; la corrección total siempre se calcula a partir del offset real y no se ve afectada.

Relación con auspiceoracle.com

Este es un espejo extraído de la capa de tiempo solar del motor detrás de Auspice Oracle. El motor principal es la fuente de verdad; las pruebas doradas aquí fijan este espejo a los mismos ejemplos publicados. Los informes de errores son muy bienvenidos; las PRs que cambien las convenciones anteriores serán rechazadas (una bifurcación de convenciones haría falsa la metodología publicada).

MIT © Shan Liu

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Calculates 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
    -
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to calculate deterministic Bazi (Four Pillars) charts with True Solar Time and Earthly Branch interactions, avoiding LLM hallucination of calendrical math.
    6
    177 npm
    160
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Converts civil time to true solar time and audits whether civil and solar times cross Chinese 时辰 boundaries, for time-sensitive divination workflows.
    53 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables 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 npm
    1
    MIT