Package Exports
- @mymcp-fun/bazi
- @mymcp-fun/bazi/service
- @mymcp-fun/bazi/types
Readme
八字计算MCP服务器
🔮 专业的八字计算MCP服务器
✨ 特性
- 🚀 一行命令启动:
npx @mymcp-fun/bazi
- 📊 完整八字分析: 四柱、五行、生肖、星座、农历日期
- 🌍 时区支持: 支持全球时区的准确计算
- 🔗 MCP协议兼容: 无缝集成Claude Desktop等MCP客户端
- ⚡ TypeScript构建: 类型安全,性能优异
- 🧪 完整测试: 100%测试覆盖率
🚀 快速开始
直接使用 (推荐)
npx @mymcp-fun/bazi
全局安装
npm install -g @mymcp-fun/bazi
bazi # 安装后可直接使用 bazi 命令
🔧 MCP客户端配置
Claude Desktop
在 claude_desktop_config.json
中添加:
{
"mcpServers": {
"bazi": {
"command": "npx",
"args": ["-y", "@mymcp-fun/bazi"]
}
}
}
其他MCP客户端
本服务器兼容所有标准MCP客户端,包括:
- Claude Desktop
- Zed Editor
- VS Code (通过MCP扩展)
- 自定义MCP客户端
📊 工具API
get_bazi_details
计算生辰八字和五行信息
输入参数:
year
(number): 出生年份 (1900-2100)month
(number): 出生月份 (1-12)day
(number): 出生日期 (1-31)hour
(number): 出生时间 (0-23)gender
(string, 可选): 性别 "male" 或 "female",默认 "male"timezone
(string, 可选): 时区,默认 "Asia/Shanghai"
返回结果:
{
"pillars": {
"year": "乙酉",
"month": "己丑",
"day": "丁巳",
"hour": "壬子"
},
"elements": {
"wood": 30,
"fire": 50,
"earth": 50,
"metal": 20,
"water": 50
},
"animal": "鸡",
"constellation": "水瓶",
"lunarDate": {
"year": 2005,
"month": 12,
"day": 29,
"isLeapMonth": false
}
}
🧪 开发和测试
克隆项目
git clone https://github.com/mymcp-fun/bazi.git
cd bazi
安装依赖
npm install
开发模式
npm run dev
构建项目
npm run build
运行测试
# 运行所有测试
npm test
# 单独运行测试
npm run test:basic # 基础功能测试
npm run test:mcp # MCP服务器测试
npm run test:lunar # lunar-javascript API测试
npm run test:accuracy # 准确性测试
📁 项目结构
bazi/
├── src/
│ ├── server.ts # MCP服务器主入口
│ ├── bazi-service.ts # 八字计算服务
│ ├── types.ts # TypeScript类型定义
│ └── config.ts # 配置管理
├── tests/ # 测试文件
├── dist/ # 编译输出
└── package.json # npm配置
🔧 技术栈
- MCP SDK: @modelcontextprotocol/sdk (最新版本)
- 八字计算: lunar-javascript (权威库,1600+周下载量)
- 开发语言: TypeScript 5.0+
- 运行环境: Node.js 18+
- 依赖管理: npm
📦 作为库使用
本包除了可以作为 MCP 服务器使用,还可以作为 npm 库直接在项目中使用:
npm install @mymcp-fun/bazi
可用的导出模块
@mymcp-fun/bazi/service
- 八字计算服务类@mymcp-fun/bazi/types
- TypeScript 类型定义@mymcp-fun/bazi
- 完整的 MCP 服务器
📝 使用示例
在Claude Desktop中使用
- 配置MCP服务器后重启Claude Desktop
- 看到工具图标表示服务器已连接
- 提问示例:
请帮我计算一下2006年1月28日23时50分出生的人的八字信息
Claude会自动调用八字计算工具并返回详细分析:
八字四柱:乙酉 己丑 丁巳 壬子
生肖:鸡
星座:水瓶座
农历:2005年腊月廿九
五行分布:木30 火50 土50 金20 水50
编程调用示例
// 导入八字计算服务
import { MCPBaziService } from '@mymcp-fun/bazi/service';
import { BaziResult } from '@mymcp-fun/bazi/types';
const service = new MCPBaziService();
const result: BaziResult = await service.calculateBazi({
year: 2006,
month: 1,
day: 28,
hour: 23
});
console.log(`四柱: ${result.四柱.年柱} ${result.四柱.月柱} ${result.四柱.日柱} ${result.四柱.时柱}`);
console.log(`生肖: ${result.生肖}`);
console.log(`星座: ${result.星座}`);
🎯 准确性保证
技术基础
- 使用lunar-javascript作为计算引擎,这是最受信任的中文农历计算库之一
- 周下载量1600+,远超其他同类包
- 由专业开发者6tail维护,专门为中文传统算法设计
测试验证
- ✅ 传统命理学经典案例测试通过
- ✅ 边界时间处理测试通过
- ✅ 全时区计算验证通过
- ✅ 100%测试覆盖率
计算特色
- 支持完整的天干地支计算
- 准确的五行分析和权重计算
- 正确的生肖和星座判断
- 精确的农历日期转换
🌟 为什么选择这个包?
- 传播简单: 一行npm命令,无需复杂环境配置
- 计算准确: 基于权威lunar-javascript库,保证结果可靠
- 功能完整: 不仅有四柱,还包含生肖、星座、农历、五行分析
- 开发友好: TypeScript类型安全,现代化开发体验
- 生态兼容: 完美支持MCP协议,可与各种AI客户端集成
📞 支持
- 🐛 问题反馈: GitHub Issues
- 📧 联系作者: howard@mymcp.fun
- 🌐 项目主页: mymcp.fun
📄 许可证
MIT License - 查看 LICENSE 文件了解详情。
🌟 如果这个项目对你有帮助,请给个Star支持一下!