Bazi Calculation

Un servidor profesional de cálculo de Bazi (astrología china) que ofrece un análisis completo que incluye los cuatro pilares, cinco elementos, zodíaco y fechas lunares con soporte de zona horaria.

Documentación

Servidor MCP de Cálculo de Bazi

🔮 Servidor MCP profesional de cálculo de Bazi

npm version License: MIT

✨ Características

  • 🚀 Inicio con un solo comando: npx @mymcp-fun/bazi
  • 📊 Análisis completo de Bazi: Cuatro pilares, cinco elementos, signo zodiacal chino, signo astrológico, fecha del calendario lunar
  • 🌍 Soporte de zonas horarias: Cálculo preciso para todas las zonas horarias del mundo
  • 🔗 Compatible con el protocolo MCP: Integración perfecta con clientes MCP como Claude Desktop
  • ⚡ Construido con TypeScript: Seguridad de tipos y rendimiento excelente
  • 🧪 Pruebas completas: 100% de cobertura de pruebas

🚀 Inicio rápido

Uso directo (recomendado)

npx @mymcp-fun/bazi

Instalación global

npm install -g @mymcp-fun/bazi
bazi  # 安装后可直接使用 bazi 命令

🔧 Configuración del cliente MCP

Claude Desktop

Agregue en claude_desktop_config.json:

{
  "mcpServers": {
    "bazi": {
      "command": "npx",
      "args": ["-y", "@mymcp-fun/bazi"]
    }
  }
}

Otros clientes MCP

Este servidor es compatible con todos los clientes MCP estándar, incluyendo:

  • Claude Desktop
  • Zed Editor
  • VS Code (a través de la extensión MCP)
  • Clientes MCP personalizados

📊 API de herramientas

get_bazi_details

Calcula la información de Bazi (ocho caracteres) y los cinco elementos

Parámetros de entrada:

  • year (number): Año de nacimiento (1900-2100)
  • month (number): Mes de nacimiento (1-12)
  • day (number): Día de nacimiento (1-31)
  • hour (number): Hora de nacimiento (0-23)
  • gender (string, opcional): Género "male" o "female", por defecto "male"
  • timezone (string, opcional): Zona horaria, por defecto "Asia/Shanghai"

Resultado devuelto:

{
  "四柱": {
    "年柱": "乙酉",
    "月柱": "己丑",
    "日柱": "丁巳",
    "时柱": "壬子"
  },
  "五行": {
    "木": 1,
    "火": 2,
    "土": 2,
    "金": 1,
    "水": 2
  },
  "生肖": "鸡",
  "星座": "水瓶",
  "农历": {
    "农历年": 2005,
    "农历月": 12,
    "农历日": 29,
    "是否闰月": false,
    "农历月名": "腊月"
  },
  "日主": "丁"
}

🧪 Desarrollo y pruebas

Clonar el proyecto

git clone https://github.com/mymcp-fun/bazi.git
cd bazi

Instalar dependencias

npm install

Modo de desarrollo

npm run dev

Compilar el proyecto

npm run build

Ejecutar pruebas

# 运行所有测试
npm test

# 单独运行测试
npm run test:basic      # 基础功能测试
npm run test:mcp        # MCP服务器测试  
npm run test:lunar      # lunar-javascript API测试
npm run test:accuracy   # 准确性测试

📁 Estructura del proyecto

bazi/
├── src/
│   ├── server.ts           # MCP服务器主入口
│   ├── bazi-service.ts     # 八字计算服务
│   └── types.ts           # TypeScript类型定义
├── tests/                 # 测试文件
├── dist/                 # 编译输出
└── package.json          # npm配置

🔧 Stack tecnológico

  • MCP SDK: @modelcontextprotocol/sdk (última versión)
  • Cálculo de Bazi: lunar-javascript (biblioteca autorizada, más de 1600 descargas semanales)
  • Lenguaje de desarrollo: TypeScript 5.0+
  • Entorno de ejecución: Node.js 18+
  • Gestión de dependencias: npm

📦 Uso como biblioteca

Este paquete no solo se puede usar como servidor MCP, sino también como biblioteca npm directamente en sus proyectos:

npm install @mymcp-fun/bazi

Módulos exportados disponibles

  • @mymcp-fun/bazi/service - Clase de servicio de cálculo de Bazi
  • @mymcp-fun/bazi/types - Definiciones de tipos TypeScript
  • @mymcp-fun/bazi - Servidor MCP completo

📝 Ejemplos de uso

Uso en Claude Desktop

  1. Reinicie Claude Desktop después de configurar el servidor MCP
  2. Ver el icono de herramientas indica que el servidor está conectado
  3. Ejemplo de pregunta:
请帮我计算一下2006年1月28日23时50分出生的人的八字信息

Claude llamará automáticamente a la herramienta de cálculo de Bazi y devolverá un análisis detallado:

八字四柱:乙酉 己丑 丁巳 壬子
生肖:鸡
星座:水瓶座
农历:2005年腊月廿九
五行分布:木1 火2 土2 金1 水2
日主:丁

Ejemplo de llamada programática

// 导入八字计算服务
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.星座}`);

🎯 Garantía de precisión

Base técnica

  • Utiliza lunar-javascript como motor de cálculo, una de las bibliotecas de cálculo del calendario lunar chino más confiables
  • Más de 1600 descargas semanales, superando con creces a otros paquetes similares
  • Mantenido por el desarrollador profesional 6tail, diseñado específicamente para algoritmos tradicionales chinos

Verificación de pruebas

  • ✅ Pruebas de casos clásicos de astrología tradicional aprobadas
  • ✅ Pruebas de manejo de tiempos límite aprobadas
  • ✅ Verificación de cálculo en todas las zonas horarias aprobada
  • ✅ 100% de cobertura de pruebas

Características de cálculo

  • Soporte completo para el cálculo de los tallos celestiales y ramas terrenales
  • Análisis preciso de los cinco elementos y cálculo de pesos
  • Determinación correcta del signo zodiacal chino y el signo astrológico
  • Conversión precisa de fechas del calendario lunar

🌟 ¿Por qué elegir este paquete?

  1. Instalación sencilla: Un solo comando npm, sin configuración compleja del entorno
  2. Cálculo preciso: Basado en la biblioteca autorizada lunar-javascript, garantiza resultados confiables
  3. Funcionalidad completa: No solo los cuatro pilares, sino también signo zodiacal chino, signo astrológico, calendario lunar y análisis de los cinco elementos
  4. Amigable para desarrolladores: Seguridad de tipos con TypeScript, experiencia de desarrollo moderna
  5. Compatibilidad con el ecosistema: Soporte perfecto del protocolo MCP, integrable con varios clientes de IA

📞 Soporte

📄 Licencia

MIT License - Consulte el archivo LICENSE para más detalles.


🌟 ¡Si este proyecto te ha sido útil, dale una estrella para apoyarlo!