UNPKG

@mymcp-fun/bazi

Version:

专业的八字计算MCP服务器

256 lines (192 loc) 5.9 kB
# 八字计算MCP服务器 🔮 专业的八字计算MCP服务器 [![npm version](https://badge.fury.io/js/@mymcp-fun%2Fbazi.svg)](https://badge.fury.io/js/@mymcp-fun%2Fbazi) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ## ✨ 特性 - 🚀 **一行命令启动**: `npx @mymcp-fun/bazi` - 📊 **完整八字分析**: 四柱、五行、生肖、星座、农历日期 - 🌍 **时区支持**: 支持全球时区的准确计算 - 🔗 **MCP协议兼容**: 无缝集成Claude Desktop等MCP客户端 -**TypeScript构建**: 类型安全,性能优异 - 🧪 **完整测试**: 100%测试覆盖率 ## 🚀 快速开始 ### 直接使用 (推荐) ```bash npx @mymcp-fun/bazi ``` ### 全局安装 ```bash npm install -g @mymcp-fun/bazi bazi # 安装后可直接使用 bazi 命令 ``` ## 🔧 MCP客户端配置 ### Claude Desktop`claude_desktop_config.json` 中添加: ```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" **返回结果:** ```json { "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 } } ``` ## 🧪 开发和测试 ### 克隆项目 ```bash git clone https://github.com/mymcp-fun/bazi.git cd bazi ``` ### 安装依赖 ```bash npm install ``` ### 开发模式 ```bash npm run dev ``` ### 构建项目 ```bash npm run build ``` ### 运行测试 ```bash # 运行所有测试 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 库直接在项目中使用: ```bash npm install @mymcp-fun/bazi ``` ### 可用的导出模块 - `@mymcp-fun/bazi/service` - 八字计算服务类 - `@mymcp-fun/bazi/types` - TypeScript 类型定义 - `@mymcp-fun/bazi` - 完整的 MCP 服务器 ## 📝 使用示例 ### 在Claude Desktop中使用 1. 配置MCP服务器后重启Claude Desktop 2. 看到工具图标表示服务器已连接 3. 提问示例: ``` 请帮我计算一下2006年1月28日23时50分出生的人的八字信息 ``` Claude会自动调用八字计算工具并返回详细分析: ``` 八字四柱:乙酉 己丑 丁巳 壬子 生肖:鸡 星座:水瓶座 农历:2005年腊月廿九 五行分布:木30 火50 土50 金20 水50 ``` ### 编程调用示例 ```typescript // 导入八字计算服务 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%测试覆盖率 ### 计算特色 - 支持完整的天干地支计算 - 准确的五行分析和权重计算 - 正确的生肖和星座判断 - 精确的农历日期转换 ## 🌟 为什么选择这个包? 1. **传播简单**: 一行npm命令,无需复杂环境配置 2. **计算准确**: 基于权威lunar-javascript库,保证结果可靠 3. **功能完整**: 不仅有四柱,还包含生肖、星座、农历、五行分析 4. **开发友好**: TypeScript类型安全,现代化开发体验 5. **生态兼容**: 完美支持MCP协议,可与各种AI客户端集成 ## 📞 支持 - 🐛 **问题反馈**: [GitHub Issues](https://github.com/mymcp-fun/bazi/issues) - 📧 **联系作者**: [howard@mymcp.fun](mailto:howard@mymcp.fun) - 🌐 **项目主页**: [mymcp.fun](https://mymcp.fun) ## 📄 许可证 MIT License - 查看 [LICENSE](LICENSE) 文件了解详情。 --- 🌟 **如果这个项目对你有帮助,请给个Star支持一下!**