基于模型上下文协议(MCP)的专业紫微斗数命理分析服务器,提供生成、解读、分析和可视化算命图的完整功能。支持传统的紫微斗数算法,并结合现代的数据持久性和可视化技术。
npm install
# 开发模式
npm run dev
# 生产模式
npm start
如果你使用支持MCP的客户端(如Claude Desktop),可以通过STDio连接到此服务:
在Claude Desktop的配置文件中添加以下配置:
{
"mcpServers": {
"ziwei-doushu": {
"command": "npx",
"args": ["-y","ziwei-mcp"]
}
}
}
生成完整的紫微斗数命运图
参数:
name (string): 姓名birthDate (string): 出生日期 (YYYY-MM-DD)birthTime (string): 出生时间 (HH:MM)gender (string): 性别 (male/female)location (object): 出生地
province (string): 省份city (string): 城市longitude (number): 经度latitude (number): 纬度timezone (string): 时区 (默认: Asia/Shanghai)calendar (string): 日历类型 (solar/lunar, 默认: solar)提供详细的图表分析和解释
参数:
chartId (string): 命盘IDaspects (array): 解读方面
detailLevel (string): 详细程度 (basic/detailed/comprehensive)分析特定时期的运势趋势
参数:
chartId (string): 命盘IDperiod (string): 分析周期 (current_year/next_year/decade/custom)startDate (string): 开始日期 (YYYY-MM-DD)endDate (string): 结束日期 (YYYY-MM-DD)aspects (array): 分析方面双命盘婚配分析
参数:
chart1Id (string): 第一人的命运图IDchart2Id (string): 第二人的命运图IDanalysisType (string): 分析类型 (marriage/business/friendship)aspects (array): 分析维度根据图表选择吉日良时
参数:
chartId (string): 命盘IDeventType (string): 事件类型dateRange (object): 日期范围preferences (object): 偏好设置生成算命的可视化图表,支持多种风格和格式
参数:
chartId (string): 命盘IDvisualizationType (string): 可视化类型
includeElements (array): 包含元素colorScheme (string): 颜色方案outputFormat (string): 输出格式 (svg/png/html)分析人生的时间轴,包括重大事件和年份的详细分析
分析人际关系,包括家庭、朋友、同事等
职业发展指导和决策支持
健康分析和保健建议
教育和学习指导
# 进入项目目录
cd 紫微斗数
# 安装依赖
npm install
# 启动MCP服务器
npm start
# 或启动开发模式
npm run dev
npm start # 启动MCP服务器
npm run dev # 启动开发模式(带调试)
npm test # 运行基础测试
npm run lint # ESLint代码检查
npm run format # Prettier代码格式化
项目使用的配置文件如下:
config/sqlite-config.js - SQLite数据库配置config/persistence-config.js - 数据持久性配置package.json - 项目依赖和脚本配置项目使用SQLite作为数据存储,配置文件位于config/sqlite-config.js。
// 通过MCP调用
const chart = await mcpClient.callTool('generate_chart', {
name: '张三',
birthDate: '1990-01-01',
birthTime: '08:30',
gender: 'male',
location: {
province: '北京市',
city: '北京市',
longitude: 116.4074,
latitude: 39.9042
}
});
const interpretation = await mcpClient.callTool('interpret_chart', {
chartId: chart.id,
aspects: ['personality', 'career', 'wealth'],
detailLevel: 'detailed'
});
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
test: 测试相关
chore: 构建过程或辅助工具的变动
该项目采用MIT许可证。
注意 本项目仅供学习和研究之用,算命分析结果仅供参考,不应作为重大生活决策的唯一依据。
Q: 为什么生成的图表与其他软件不同? A: 不同的紫微斗数软件可能使用不同的算法和参数。本服务是基于传统算法实现的,结果可能会有所不同。
Q: 哪些地区支持哪些时区? A: 支持全球主要时区,以Asia/Shanghai(北京时间)为默认。
Q: 数据会保存多久? A: 目前数据将永久保存在本地SQLite数据库中,你可以手动清理任何不必要的数据。
Q: 如何获得更准确的分析结果? A: 请确保输入准确的出生日期、时间和地点信息,时间精确到分钟级别。
如果遇到技术问题,请提供以下信息:
解释数据