MCPIztro

MCPIztro

🚀 紫微斗数 MCP 服务器

这是一个基于 Model Context Protocol (MCP) 的紫微斗数计算服务器。借助强大的 iztro 库,它能提供精确的紫微斗数排盘和运限分析功能,为用户带来便捷的运势分析体验。

🚀 快速开始

前置要求

  • Node.js 18.0.0 或更高版本
  • npm 包管理器

克隆仓库

git clone https://github.com/wuunicorn/MCPIztro.git
cd MCPIztro

安装依赖

npm install

配置

1. 创建配置文件

ziwei_mcp_config.json 中的路径修改为您的实际项目路径:

{
"mcpServers": {
"ziwei": {
"command": "node",
"args": ["/path/to/your/project/ziwei_mcp_server.js"],
"env": {
"NODE_PATH": "/path/to/your/project/node_modules"
}
}
}
}

2. 在 MCP 客户端中配置

将配置文件内容添加到您的 MCP 客户端配置中(如 Claude Desktop、Cursor 等)。

启动服务器

npm start
# 或
node ziwei_mcp_server.js

运行测试

npm test
# 或
node test_ziwei.js

✨ 主要特性

  • 🌟 完整的紫微斗数排盘:支持阳历和农历生日计算,能为不同日期记录方式的用户提供服务。
  • 📅 精确的时间处理:可获取当前系统时间和详细信息,为运势分析提供准确的时间依据。
  • 🔮 运限分析:提供大限、流年等运势分析,帮助用户了解不同阶段的运势情况。
  • 🌐 多语言支持:支持简体中文、繁体中文、英文、日文、韩文、越南文,满足不同地区用户的需求。
  • 🔄 MCP 协议兼容:可与支持 MCP 的 AI 助手无缝集成,拓展了服务器的使用场景。
  • 轻量高效:基于 Node.js,响应快速,能及时为用户提供分析结果。
  • 📊 结构化数据:返回完整的 JSON 格式星盘数据,方便用户进行数据处理和分析。

🛠️ 技术栈

属性 详情
运行环境 Node.js (≥18.0.0)
核心计算库 iztro (v2.5.3)
模型上下文协议 MCP Protocol (2024-11-05)

💻 使用示例

在 MCP 客户端中使用

配置完成后,您可以在支持 MCP 的客户端中直接使用自然语言查询:

请帮我排一个1990年8月16日下午2点出生的女性的紫微斗数星盘
我想看看这个人在2024年的运势如何

直接 API 调用

# 获取当前时间
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_current_time", "arguments": {}}}' | node ziwei_mcp_server.js

# 计算星盘
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "calculate_ziwei", "arguments": {"birthday": "1990-08-16", "hour": 14, "gender": "女"}}}' | node ziwei_mcp_server.js

📚 详细文档

API 文档

服务器提供以下三个主要工具:

1. get_current_time

获取当前系统时间的详细信息。 参数:无 返回

{
"success": true,
"data": {
"year": 2024,
"month": 8,
"day": 1,
"hour": 15,
"minute": 30,
"second": 45,
"datetime_str": "2024-08-01 15:30:45",
"weekday": "Thursday",
"weekday_cn": "星期四",
"timestamp": 1722513045
}
}

2. calculate_ziwei

计算指定生辰的紫微斗数星盘。 参数

  • birthday (必需):生日,格式 YYYY-MM-DD
  • hour (可选):出生时辰 (0 - 23),默认 0
  • gender (可选):性别 ("男"/"女"),默认 "男"
  • type (可选):日期类型 ("solar"/"lunar"),默认 "solar"
  • isLeapMonth (可选):是否闰月,默认 false
  • language (可选):语言设置,默认 "zh-CN"

示例请求

{
"birthday": "1990-08-16",
"hour": 14,
"gender": "女",
"type": "solar",
"language": "zh-CN"
}

返回:完整的星盘数据,包含十二宫信息、星耀分布、亮度等。

3. get_horoscope

获取指定生辰在特定时间的运限信息。 参数

  • birthday (必需):生日,格式 YYYY-MM-DD
  • hour (可选):出生时辰 (0 - 23),默认 0
  • gender (可选):性别 ("男"/"女"),默认 "男"
  • type (可选):日期类型 ("solar"/"lunar"),默认 "solar"
  • isLeapMonth (可选):是否闰月,默认 false
  • targetDate (可选):目标日期,格式 YYYY-MM-DD,默认当前日期
  • language (可选):语言设置,默认 "zh-CN"

返回:运限信息,包含大限、流年、年龄等数据。

支持的语言

语言代码 语言名称
zh-CN 简体中文
zh-TW 繁体中文
en-US 英语
ja-JP 日语
ko-KR 韩语
vi-VN 越南语

🏗️ 项目结构

MCPIztro/
├── README.md                 # 项目介绍文档
├── package.json             # 项目配置和依赖
├── package-lock.json        # 依赖锁定文件
├── ziwei_mcp_server.js      # MCP 服务器主程序
├── ziwei_mcp_config.json    # MCP 配置文件模板
├── test_ziwei.js           # 测试脚本
└── node_modules/           # 依赖包目录

🔧 技术细节

开发

测试服务器功能

node test_ziwei.js

检查语法

node -c ziwei_mcp_server.js

验证依赖

node -e "import { astro } from 'iztro'; console.log('依赖加载成功');"

🤝 贡献

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的修改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开一个 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢

📞 联系

如果您有任何问题或建议,请通过以下方式联系:

  • 提交 Issue
  • 发送邮件到:wuunicorn@gmail.com

⚠️ 重要提示

紫微斗数仅供参考和娱乐,请理性对待运势分析结果。

  • 0 关注
  • 0 收藏,31 浏览
  • system 提出于 2025-10-03 20:51

相似服务问题

相关AI产品