True Solar Time について
BaZi の実践者や作盤ツール開発者向けの、決定論的な太陽時変換サーバー、CLI、TypeScript ライブラリです。過去の DST、経度、均時差を使って出生時刻を補正し、命式の解釈は行いません。
主な機能
- 01出生時刻を真太陽時に補正
- 02DST・経度・均時差の内訳を表示
- 03存在しない現地時刻を検出
- 04時支の境界までの距離を計測
- 05時支への該当を確認
活用シーン
- 01BaZi の作盤前に出生情報を補正
- 02過去の DST の影響を受ける日付を確認
- 03時支境界に近い出生時刻を特定
- 04太陽時変換を BaZi ツールに統合
MCP 対応
MCP クライアントに `true_solar_time` と `hour_branch` ツールを提供します。ホスト版とデスクトップ構成には作盤関連ツールもあり、リモート呼び出しは Auspice Oracle エンジンに転送されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| day | integer | はい | |
| hour | integer | はい | 記録された時計時刻の時。24 時間制。 |
| year | integer | はい | 出生年(グレゴリオ暦) |
| month | integer | はい | |
| minute | integer | はい | |
| timeZone | string | はい | 出生地の IANA タイムゾーン。例:'Asia/Shanghai'、'America/Vancouver'。 |
| longitude | number | はい | 出生地の経度(度)。東経は正(ウルムチ ≈ 87.6、バンクーバー ≈ -123.1)。 |
詳細
true-solar-time-mcp
BaZi/四柱推命の命式における真太陽時補正 — ほとんどの計算ツールが省略しているステップです。
記録された出生時刻(時計の時刻+IANA タイムゾーン+経度)を、出生地における太陽の実際の時刻に変換する MCP サーバー、CLI、TypeScript ライブラリです。決定論的に動作するため、入力が同じなら、毎回出力も同じです。
$ 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
これが必要な理由
BaZi の命式は太陽の位置をもとに算出されますが、出生記録には民間時刻が記載されています。この2つの間には、ほぼすべての命式ツール(人気のオープンソース LLM「スキル」も含めて)が気づかれないまま省略している、次の3つの補正があります。
- 過去の夏時間。 中国では1986年から1991年まで夏時間が実施されていました。この6回の夏に生まれた人の出生証明書には、時計を1時間進めた時刻が記録されています。これは時支全体をまたぐのに十分な差で、夜の適切な時間帯であれば日柱も変わります。IANA/ICU のタイムゾーンデータベースにはこの情報がありますが、ほとんどの計算ツールは参照しません。
- 経度。 中国は地理的には4つのタイムゾーンにまたがっていますが、時計は1つに統一されています。ウルムチで北京時間の07:10は、現地の太陽時ではまだ05:00を少し過ぎたところで、時支が丸2つ分ずれます。
- 均時差。 真太陽時と平均太陽時の差は年間で最大±16分になります(ここでは NOAA の近似式を使っており、誤差は1分を大きく下回ります)。11月上旬には、これだけで命式が時支の境界をまたぐことがあります。
このライブラリは、ほとんどのツールが教えてくれない次の2点も報告します。
- 出生時刻が実際に存在したかどうか。 夏時間への切り替えで時計が01:59から03:00に進む夜は、02:30という出生記録が示す実際の時刻は存在しません。この時間の隙間を検出して、その幅を報告し、推測で補うことは決してありません。
- 補正後の時刻が時支の境界にどれだけ近いか。 境界まで数分以内の場合、正直な答えは「両方の候補で算出する」であり、見せかけの精密さではありません。
意図的に行わないこと
命式を算出したり、有利な五行を選んだり、何かを解釈したりはしません。命式の算出は、優れたオープンソース実装がある、すでに解決済みの問題です。解釈には唯一の正解がなく、参照用ライブラリには適しません。1つのステップを、慎重に実行します。
すべての定数、しきい値、規約を含む、完全な手法(このライブラリが採用しているものも含みます)は、auspiceoracle.com/en/method で公開されています。導出をすべて示した、詳しい計算例を3つ紹介しています:出生時刻のテスト。背景となる解説:真太陽時。
何もインストールせずに自分の出生データで試すには:無料の BaZi 計算ツール(真太陽時を適用)。
MCP サーバー
ホステッドエンドポイント(インストール不要): https://auspiceoracle.com/mcp — ステートレスなストリーミング可能 HTTP、認証不要。claude.ai のカスタムコネクター、またはストリーミング可能 HTTP に対応するあらゆる MCP クライアントで利用できます。
{
"mcpServers": {
"true-solar-time": { "url": "https://auspiceoracle.com/mcp" }
}
}
ローカル(stdio):
{
"mcpServers": {
"true-solar-time": {
"command": "npx",
"args": ["-y", "true-solar-time-mcp"]
}
}
}
ツール:
true_solar_time— 完全な補正:補正後の時刻、夏時間/経度/均時差の内訳(3つの値の合計は必ず全体の補正量と一致します)、時支、境界までの距離、存在しない時刻の検出。hour_branch— すでに補正済みの時刻について、時支と境界までの距離を判定します。
ホステッドエンドポイントでは、さらに cast_pillars も利用できます — 本番用の Auspice Oracle エンジンが算出する、太陽時で補正された四柱と蔵干、納音、運勢サイクルです(ソースは非公開で、公開済みの手法と同じ規約を使用します)。事実のみを提供し、強弱の判定や解釈は行いません。
BaZi のスキルやエージェントを構築する場合は、命式を算出する前に true_solar_time を呼び出し、補正後の時刻を算出ツールに渡してください。LLM はこの変換をコンテキスト内で実行できません。均時差は三角関数の級数で計算され、夏時間の履歴はモデルの重みではなくデータベースに保存されているためです。
ライブラリ
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
慣例を明確に説明します
- 時支は奇数時に切り替わります(子は23:00から始まります)。各時支は120分です。
- 境界リスクフラグには8分のしきい値を使用します。これは慣例であり、物理法則ではありません。許容範囲に合わせて調整してください。境界付近のチャートは、いずれにしても両方の方式で算出してください。
- 過去のタイムゾーン情報は、ランタイムのICUデータ(Node ≥ 18)に基づきます。独自のテーブルは管理していません。
- 標準オフセット自体が年の途中で変化した場合(ロシア、2011年)、内訳のDST/経度による分割で正確に帰属できないことがあります。合計補正は常に実際のオフセットから計算されるため、影響を受けません。
デスクトップ拡張機能(Claude Desktop)
リリースのMCPBバンドルは、このサーバーをワンクリックでインストールできるようパッケージ化しており、チャート作成の全フローも追加されています。
| ツール | 実行場所 |
|---|---|
true_solar_time、hour_branch | このリポジトリ内のコードを使って、ローカルでオフライン実行 |
cast_chart、personality_sketch、compose_sketch | https://auspiceoracle.com/mcp/bazi 上でリモート実行 |
四柱の算出には本番エンジン(節気の瞬間、運周期の開始日、晩子時の慣例)が必要ですが、これはこのパッケージには含まれていません。そのため、バンドルはこれら3つの呼び出しをHTTPS経由で転送し、結果をそのまま返します。npm run build:mcpb で自分でビルドできます。
同じホスト型エンドポイントは、インストール不要の通常のリモートMCPサーバーとしても利用できます。
claude mcp add --transport http bazi https://auspiceoracle.com/mcp/bazi
プライバシーポリシー
ポリシー全文:https://auspiceoracle.com/en/privacy
- ローカルツール(
true_solar_time、hour_branch)は、どこにもデータを送信しません。ネットワーク通信、テレメトリー、ファイルへの書き込みはありません。 - リモートツール(
cast_chart、personality_sketch、compose_sketch)は、1回の応答を計算するため、指定された出生情報(日付、時計時刻、IANAタイムゾーン、経度、および算出時に運周期の方向を決める性別フラグ)をHTTPS経由でhttps://auspiceoracle.com/mcp/baziに送信します。 - このエンドポイントでは、氏名、メールアドレス、アカウント、認証情報の提供を求めることも、受け付けることもありません。
- 何も保存されません。このエンドポイントはステートレスで、出生情報や結果を保存せず、トレーニングにも使用しません。不正利用防止のため、標準的なエッジリクエストログ(IP、タイムスタンプ、パス)はCDNに保持されますが、リクエスト本文は記録されません。
- データが第三者に渡ることはありません。このエンドポイントは外部サービスを呼び出しません。
- 保持期間:リクエスト内容は保持しません。お問い合わせ先:https://github.com/Shann5/true-solar-time-mcp/issues または auspiceoracle.com のお問い合わせページ。
auspiceoracle.com との関係
これは、Auspice Oracle の背後にあるエンジンから、太陽時のレイヤーを抽出してミラー化したものです。正本はメインエンジンであり、ここにあるゴールデンテストは、このミラーが同じ公開済みの例に準拠するよう固定しています。バグ報告は歓迎しますが、上記の慣例を変更するPRは受け付けません(慣例を分岐させると、公開済みの方法論が事実と異なるものになるためです)。
MIT © Shan Liu
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。