返回 MCP 目录
public公开dns本地运行

MCPIztro

基于MCP协议的紫微斗数计算服务器,提供精准排盘和运势分析功能

article

README

🚀 紫微斗数 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

⚠️ 重要提示

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

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端