命理MCP服务 (Mingli MCP Server)
一个支持多种命理系统(紫微斗数、八字、占星等)的 Model Context Protocol (MCP) 服务器,专为 AI 工具(如 Cursor IDE)设计。
✨ 特性
🎯 核心特性
✅ 多命理系统支持: 采用插件化架构,轻松扩展新的命理系统
✅ 紫微斗数(已实现)
✅ 八字(已实现)⭐ 新增
🔄 西方占星(预留接口)
✅ 多传输方式: 支持stdio、HTTP、WebSocket等多种传输协议
✅ MCP标准兼容: 完全兼容 MCP 协议规范
✅ 易于扩展: 清晰的抽象层设计,添加新系统只需3步
🔮 紫微斗数功能
✅ 完整排盘: 十二宫、主星、辅星、杂耀、四化等
✅ 运势查询: 大限、流年、流月、流日、流时
✅ 宫位分析: 深度分析特定宫位的星曜配置
✅ 多种历法: 支持阳历和农历输入
✅ 格式化输出: JSON和Markdown两种输出格式
🎴 八字功能 ⭐ 新增
✅ 四柱排盘: 年月日时四柱、天干地支详细信息
✅ 十神分析: 比肩、劫财、食神、伤官、偏财、正财、七杀、正官、偏印、正印
✅ 五行分析: 金木水火土分数、百分比、平衡度
✅ 地支藏干: 详细的地支藏干信息
✅ 运势查询: 大运、流年分析
✅ 缺失分析: 自动识别五行缺失并给出建议
✅ 多种历法: 支持阳历和农历输入
📋 可用工具
1. get_ziwei_chart
获取紫微斗数完整排盘信息
参数:
date(string, 必需): 出生日期 YYYY-MM-DD,如 "2000-08-16"time_index(integer, 必需): 时辰序号 0-120=早子时(23-01), 1=丑时(01-03), 2=寅时(03-05), 3=卯时(05-07)
4=辰时(07-09), 5=巳时(09-11), 6=午时(11-13), 7=未时(13-15)
8=申时(15-17), 9=酉时(17-19), 10=戌时(19-21), 11=亥时(21-23)
12=晚子时(23-01)
gender(string, 必需): 性别 "男" 或 "女"calendar(string, 可选): 历法 "solar"(阳历) 或 "lunar"(农历), 默认 "solar"is_leap_month(boolean, 可选): 是否闰月,默认 falseformat(string, 可选): 输出格式 "json" 或 "markdown", 默认 "markdown"
示例:
2. get_ziwei_fortune
获取紫微斗数运势信息
参数:
birth_date(string, 必需): 出生日期time_index(integer, 必需): 时辰序号gender(string, 必需): 性别calendar(string, 可选): 历法类型query_date(string, 可选): 查询日期,不填则为今天format(string, 可选): 输出格式
3. analyze_ziwei_palace
分析紫微斗数特定宫位
参数:
birth_date(string, 必需): 出生日期time_index(integer, 必需): 时辰序号gender(string, 必需): 性别palace_name(string, 必需): 宫位名称,可选值:命宫、兄弟、夫妻、子女、财帛、疾厄
迁移、仆役、官禄、田宅、福德、父母
calendar(string, 可选): 历法类型format(string, 可选): 输出格式
4. list_fortune_systems
列出所有可用的命理系统
5. get_bazi_chart ⭐ 新增
获取八字(四柱)排盘信息
参数:
date(string, 必需): 出生日期 YYYY-MM-DDtime_index(integer, 必需): 时辰序号 0-12gender(string, 必需): 性别 "男" 或 "女"calendar(string, 可选): 历法 "solar"(阳历) 或 "lunar"(农历), 默认 "solar"is_leap_month(boolean, 可选): 是否闰月,默认 falseformat(string, 可选): 输出格式 "json" 或 "markdown", 默认 "markdown"
示例:
输出包含:
四柱八字(年月日时)
天干地支详细信息
十神分析(比肩、劫财等)
五行分数统计
地支藏干信息
生肖、日主等基本信息
6. get_bazi_fortune ⭐ 新增
获取八字运势信息
参数:
birth_date(string, 必需): 出生日期time_index(integer, 必需): 时辰序号gender(string, 必需): 性别calendar(string, 可选): 历法类型query_date(string, 可选): 查询日期,不填则为今天format(string, 可选): 输出格式
输出包含:
当前年龄
大运信息(年龄范围、干支)
流年信息(年份、干支、生肖)
本命八字
7. analyze_bazi_element ⭐ 新增
分析八字五行强弱
参数:
birth_date(string, 必需): 出生日期time_index(integer, 必需): 时辰序号gender(string, 必需): 性别calendar(string, 可选): 历法类型format(string, 可选): 输出格式
输出包含:
日主及其五行属性
五行分数和百分比
最旺/最弱五行
缺失五行
平衡度评价
补救建议
🛠️ 安装和配置
环境要求
Python 3.8+
Cursor IDE 或其他支持MCP的工具
1. 克隆项目
2. 创建虚拟环境(推荐)
3. 安装依赖
4. 配置环境变量(可选)
5. 测试运行
6. 配置 Cursor MCP
编辑或创建 ~/.cursor/mcp.json:
注意: 请根据实际路径调整
command和args
7. 重启 Cursor
重启 Cursor IDE 以加载新的 MCP 配置。
📁 项目结构
🚀 扩展新命理系统
本项目采用插件化架构,添加新命理系统只需3步:
步骤1: 创建系统类
在 systems/ 下创建新目录,实现 BaseFortuneSystem 接口:
步骤2: 注册系统
在 systems/__init__.py 中注册:
步骤3: 添加MCP工具
在 mingli_mcp.py 的 _handle_tools_list() 中添加工具定义。
就这么简单!无需修改核心框架代码。
🔧 传输层扩展
当前默认使用 stdio 传输(适用于 Cursor)。未来可扩展:
HTTP传输(预留)
WebSocket传输(预留)
📚 使用示例
在 Cursor 中使用
获取紫微排盘:
查询运势:
分析宫位:
编程调用
🧪 测试
📝 依赖说明
py-iztro: 紫微斗数核心库,提供排盘算法
python-dotenv: 环境变量管理
python-dateutil: 日期处理
🗺️ 未来规划
完善八字系统实现
添加西方占星系统
实现合盘功能
HTTP/WebSocket传输层
命理知识库集成
AI解读功能
更多运势分析维度
🤝 贡献
欢迎贡献代码、报告问题或提出建议!
📄 许可证
MIT License
🙏 致谢
iztro - 紫微斗数 JavaScript 库
py-iztro - Python 移植版本
MCP Protocol - Model Context Protocol 规范
🔮 开始你的命理探索之旅!
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables AI tools to perform Chinese fortune-telling analysis including Ziwei Doushu (Purple Star Astrology) and Bazi (Four Pillars) chart generation, fortune reading, and element analysis. Supports multiple calendar systems and output formats for comprehensive divination services.