Skip to main content
Glama
Prophet MCP

Prophet MCP

by AstralumeLan

简体中文 | English

MIT Python 3.12 Node 20+ CI Tests Release MCP ready llms.txt Offline GitHub stars

Prophet 计算规则、保留来源、展示分歧。Python 统一输入与 JSON 输出,紫微通过本地 Node 桥接;从四柱到星盘,从随机起卦到经典检索,都能追溯计算依据。

目录

✨ 特性 · 🚀 快速开始 · 📦 示例 · 🤖 AI 友好 · 🏗️ 架构 · 🎯 准确性与校验 · 🧰 CLI 参考 · 🗺️ 路线图 / 已知缺口 · ❓ FAQ · 🤝 贡献 · 📄 许可与致谢 · ⚠️ 免责声明

✨ 特性

体系

能力

文档

☯️ 八字

四柱、大运、流年流月、日历与神煞

八字

🌌 紫微

双适配排盘、大限小限与年/月/日/时运限

紫微

🪙 六爻

铜钱、时间或手工起卦,纳甲与伏神

六爻

🌸 梅花

时间、数字与随机起卦,体用与互变卦

梅花

🧭 奇门

时家转盘,拆补与置闰规则

奇门

📅 黄历

农历、节气、宜忌与十二时辰

黄历

♈ 西占

本命、行运、次限、太阳返照与合盘

西占

🃏 塔罗

RWS 抽牌、牌阵与牌义索引

塔罗

🪐 印占

Lahiri、分盘、Vimshottari、BAV 与可选六力

印占

📚 语料

SQLite FTS5 全文检索,保留出处与许可

语料

🔬 交叉校验

逐项显示差异、规则与有限独立检查

交叉校验

⚙️ 核心

真太阳时、约略时间分支、随机占不重抽(复用记录)

核心

Related MCP server: asktian MCP Server

🚀 快速开始

准备 Python 3.12、Node.js 20+、npm、git、curl 和 bash。Node 包未声明 engines,此处以 20+ 作为安装基线。

git clone https://github.com/AstralumeLan/prophet-toolkit.git
cd prophet-toolkit
bash scripts/setup.sh
bin/prophet bazi chart --person S01

安装需要联网,安装后的计算与检索离线运行。脚本创建 .venv,安装固定 Python 依赖与 npm 锁定版本,检出固定上游提交,下载可选 Chiron 星历,生成语料并自检;优先使用 uv,否则使用 venv/pip。pyswisseph 源码编译需要 C/C++ 编译器及 Python 头文件。

S01–S04 均为虚构示例,依次为精确时间、区间、暂用时间和区间。已备齐依赖及 vendor 来源时,可离线运行 bin/prophet corpus build。

📦 示例

以下命令已实际运行;节选保留原始键和值,… 表示省略字段,展示内容不是可直接解析的完整 JSON。S03 仍为暂用时间。

bin/prophet bazi chart --person S01
{
  "person": "S01",
  "candidates": [
    {
      "year_pillar": "庚午",
      "month_pillar": "己卯",
      "day_pillar": "己卯",
      "hour_pillar": "戊辰",
      "day_master": "己"
    }
  ],
  …
}
bin/prophet ziwei horoscope --person S01 --date 2026-01-01
{
  "target": {
    "date": "2026-01-01",
    "hour": null
  },
  "solarDate": "2026-1-1",
  "lunarDate": "二〇二五年冬月十三",
  …
}
bin/prophet western natal --person S03
{
  "engine": {
    "name": "western.astro"
  },
  "invariants": {
    "不随时间变化": {
      "Sun sign": "Cancer",
      "Moon sign": "Pisces"
    }
  },
  …
}

🤖 AI 友好

bin/prophet tools --pretty 或 bin/prophet --describe 返回相同的 JSON 工具清单,直接从 argparse 命令树发现参数、类型、枚举与默认值。以下为实际输出节选(… 表示省略,不是完整 JSON):

{
  "tools": [
    …,
    {
      "name": "bazi.chart",
      "description": "八字四柱、大运、流年流月",
      "parameters": {
        "type": "object",
        "properties": {
          …,
          "sect": {"type": "integer", "enum": [1, 2], "default": 2},
          …
        },
        "required": [],
        "additionalProperties": false
      },
      "output_schema": "schemas/bazi.chart.schema.json"
    },
    …
  ]
}

schemas/ 提供逐命令的 JSON Schema(draft 2020-12)输出契约,允许新增字段;嵌套结构有意保持宽松。参数的 required: [] 不代表空输入有效,人物或日期/地点等替代条件仍由引擎检查。

安装后运行 bin/prophet-mcp,通过 stdin/stdout 提供 MCP JSON-RPC 工具;工具名如 bazi_chart,参数来自同一清单。Claude Desktop / Cursor 风格配置如下,请把示例路径替换为本地检出位置:

{
  "mcpServers": {
    "prophet": {
      "command": "/opt/prophet-toolkit/bin/prophet-mcp",
      "args": []
    }
  }
}

MCP 暴露完整 CLI,包括本地记录查询与显式持久化;只连接可信客户端。随机工具保持原有复用与重抽规则,服务不启动网络监听。

llms.txt 是精简文档入口,llms-full.txt 汇集公开技术文档,AGENTS.md 规定代理协作、测试和隐私要求。协议、调用示例与建议流程见 AI 客户端指南。

🧩 Agent Skills

可选的 八字 与 紫微 技能,把分析拆为盘面核对、分阶段推论、经典检索及 Critic 审核。字段路径来自实际 JSON;旺衰、格局、调候和不同四化层级分别论证,保留异说和时间分支。技能由 AI 客户端按需读取,无需新增依赖或模型服务。

🔎 Evidence

每条判断可记录 claim、system、json_paths、school、rule_id、corpus_reference、confidence 和 counter_interpretation。按 证据协议 将原始命盘和证据列表保存到本地文件,再校验:

bin/prophet evidence check evidence.json

校验会拒绝不存在的字段和无效路径,并返回实际值。通过仅表示结构及引用有效;解释语义、原文真实性和流派适用条件仍由分析者审核。证据文件可能含个人数据,分享前需检查。

🔀 Cross-check

bin/prophet cross-check run --person S01
bin/prophet cross-check run --person S02 --systems bazi,ziwei,western

独立运行至少两个体系,返回精简事实、规则、警告、候选分支及 agreements/conflicts/unique。默认统一东方钟表时,四柱值集合可作历法比较;命宫、上升等专有字段保留各自含义。--include-charts 可附原盘供审核。解释性主题由 交叉分析技能 另行对照,不将历法一致视为预测共识。默认单代理;深度多代理仅为可选文档流程。

公共版 MCP 自动提供 evidence_check 与 cross_check_run;沿用已测试的 stdio 传输,官方 SDK 迁移留待后续。详见 完整工作流。

🏗️ 架构

flowchart LR
    MCP["MCP stdio · bin/prophet-mcp"] --> CLI
    MCP --> Tools["tools manifest · core/tools.py"]
    CLI --> Tools
    Tools --> Schemas["schemas · output contracts"]
    CLI["CLI · bin/prophet"] --> Core["core · inputs / solartime"]
    Core --> Engines["eastern / western / vedic engines"]
    Engines --> Node["紫微 Ziwei · local Node bridge"]
    Node --> Iztro["iztro + Renhuai adapter"]
    CLI --> Corpus["corpus · SQLite FTS5"]
    Engines --> Validate["validate · differences and checks"]
    CLI --> Validate
    Engines --> JSON["JSON · rules / warnings / candidates"]
    Node --> JSON
    Corpus --> JSON
    Validate --> JSON

通用设计规格 · 公共输入层

🎯 准确性与校验

本次离线自检报告 124/124 passed(静态测试徽章);Chiron 星历已备齐,数值与衍生检查均运行,缺失数据降级路径也通过。

测试检验计算结果和已声明规则,不检验预测能力。下表概括 tests 中的断言,不代表对整套体系的准确性保证。

体系

参考

容差 / 实际检查结果

八字 / Bazi

lunar-python README example

乙酉 · 戊子 · 辛巳 · 壬辰

紫微 / Ziwei

iztro README chart

命午、身戌、木三局;紫微午、天府戌 / soul 午, body 戌, bureau 木三局

紫微 / Ziwei

Independent placement subset

40 seeded charts + 6 boundary cases; 14 major stars + 4 auxiliary stars

奇门 / Qimen

Published zhirun examples (1898, 1901, 1959, 1996, 2024)

节气、三元、阴阳遁与局数 / term, yuan, dun and ju

西占 / Western

Einstein public LMT chart

ASC Cancer 11.65° ±0.1°; Sun 353.5° ±0.05°; Moon 254.5° ±0.1°

西占 / Western

J2000 TT, Swiss Ephemeris

Sun 280.37° ±0.02°; Moon 223.32° ±0.1°

西占 / Western

astronomy-engine, 3 epochs

First 7 bodies: longitude difference <1 arcminute

Chiron

Astrodienst annual tables, J2000 UT

251.62° ±0.02°; optional ephemeris required

印占 / Vedic

Lahiri J2000 TT

Ayanamsa 23.85° ±0.02°

印占 / Vedic

BAV tables / profiles

Planet totals [48, 49, 39, 54, 56, 52, 39]; total 337

六力 / Shadbala

B. V. Raman, Graha and Bhava Balas

7 planetary totals: ±0.15 rupa; selected components ±0.10 virupa

共享库的一致不等于独立校验:Renhuai 内部也调用 iztro;紫微独立检查仅覆盖部分排星。虚构冻结数值在测试注释中记录来源,只用于回归。Chiron 可选文件缺失时,数值参考测试打印跳过说明,缺失降级仍被测试。详见 校验规则。

🧰 CLI 参考

完整选项见 bin/prophet --help 与各子命令的 --help。--pretty 可放任意位置。

体系

子命令

person / geo / solartime

list · show · resolve / place lookup / time correction

cache / draws

list

bazi

chart · liunian · liuyue · daily

ziwei

chart · compare · horoscope

liuyao

coins · time · manual

meihua

time · numbers · coins · random

qimen / huangli

chart / day

western

natal · check · transits · progressions · solar-return · synastry

tarot

draw · card

vedic

chart · dasha · nakshatra · shadbala

corpus

build · search · get · books

validate

all · bazi · ziwei · western · vedic

tools / --describe

JSON manifest

selftest

-k PATTERN

多数计算结果含 engine: {name, version, rules}、warnings 与解析后的 input;补充说明放 rules_ext,部分位于 engine 内。八字使用 candidates,多体系使用 branches。辅助命令可能直接返回数组。错误含 error/message/trace,退出码非零;selftest 失败也非零。日期时间序列化为字符串。

输入用 --person S01,或显式 --date、--time、--place;自定义坐标用 --lat --lon --tz 与 IANA 时区。原始钟表时保留,真太阳时另列。市中心坐标是近似值,历史地方平时须单独处理。八字默认真太阳时,紫微默认钟表时;比较前应对齐规则。

区间用 --time-range 20:00-21:00,不会把中点默认为确认时间。东方法按相关时辰、日期和节气边界分支;西占与印占每 15 分钟加端点取样。invariants 只描述实际样本,不能证明整个连续区间稳定。未知时间部分体系拒绝;西占可用中午占位,并警告宫位不可靠。

🗺️ 路线图 / 已知缺口

以下是当前缺口与后续改进方向,不代表交付承诺。

  • 扩展流派覆盖与经典校勘;神煞命中不作吉凶评分。

  • 奇门仍为参考兼容盘,不能概括所有流派。

  • 印占尚无自动校时、D60、瑜伽或 BAV 消减;六力历史平运动近似缺少更多独立样本。

  • Chiron 缺少 seas_18.se1 或超出覆盖范围时省略并警告。

  • 语料命中提供出处线索,不直接支持个人推断。

❓ FAQ

可以。依赖安装、上游检出和星历下载需要联网;准备完成后的计算和本地语料检索不访问网络。

请结合参考表和各体系文档理解。规则选择与警告会明确输出;引擎一致不构成预测有效性的证明。

使用时间区间,或查看 S02 虚构区间示例。输出保留分支;样本间的不变不能代表连续区间确定。暂用时间也仍是暂用输入。

紫微通过 stdin/stdout JSON 在本地调用 iztro 与 Renhuai 适配,不启动网络服务。

原创代码为 MIT,第三方保留各自条款。项目第三方说明明确:链接 pyswisseph 的组合发行物受 AGPL 义务约束;Swiss Ephemeris 另有商业许可,但不会自动重新许可 Python 包装层。分发前阅读 第三方说明 及上游条款。

只放在 gitignored 的 core/people.json;不存在时加载虚构 core/people.example.json。不要发布个人档案、缓存、抽签日志、凭据或个性化报告;分享输出前检查 input 与 trace。

记录中的同方法同问题复用原结果;显式不同 seed 会标记重抽。默认日志为已忽略的 core/draws.jsonl,含问题原文。--no-record 阻止新增记录,但不禁用已有记录复用;测试使用临时日志。

课程保留 CC BY-NC-SA 4.0 限制。接受条款后才用 bash scripts/setup.sh --with-tianji 或 bin/prophet corpus build --with-tianji 显式启用。Prophet 的 MIT 不会消除非商业与相同方式共享要求。

🤝 贡献

请先阅读 贡献指南 与 行为准则。通过 Issue 模板 提交可复现问题或功能建议;安全问题按 安全政策 私下报告。版本变更见 CHANGELOG.md。保持运行离线,记录规则与冻结数值来源,持久化测试使用临时目录。提交改动前运行:

bin/prophet selftest
bin/prophet selftest -k western_chiron
bin/prophet selftest -k corpus

发布前检查实际文件清单:排除私有输入、缓存、日志、vendor 检出、node_modules、生成语料、SQLite 索引及星历数据;保留第三方 LICENSE/NOTICE。

📄 许可与致谢

原创代码采用 MIT。依赖、文本与星历保留独立条款,详见 THIRD_PARTY_NOTICES.md。

感谢 iztro、6tail lunar-javascript / lunar-python、Swiss Ephemeris / pyswisseph、astronomy-engine、Renhuai123/ziwei-doushu、chinese-fortune 与 dashaflow。

B. V. Raman 的 Graha and Bhava Balas 提供数值参考例;本项目不附书籍正文或扫描件。

⚠️ 免责声明

仅供娱乐与文化研究,不对个人命运作确定性判断,不构成医疗、法律、投资或其他专业建议。


🤖 本项目由 AI 辅助构建(Made with AI)。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Provides traditional Chinese astrology (Bazi, Ziwei) and divination (Liuyao, Meihua, Qimen, etc.) calculations as MCP tools for AI assistants.
    18
    357 npm
    129
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Provides Chinese metaphysical tools (bazi, qimen, five elements) as MCP tools for AI agents to give personalized advice on timing, compatibility, and daily energy.
    5
    82 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Exposes local Mystilink calculator CLIs (bazi, ziwei, horoscope, lunar, tarot, liuyao) as MCP tools over stdio, with an optional loopback FastAPI for local debugging.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to compute natal charts, horoscopes, synastry, transits, Vedic kundli, panchang, tarot, numerology and other insight domains through 258+ typed tools, hosted as Remote MCP over Streamable HTTP or run locally over stdio with one key.
    39
    28 npm
    MIT