Bazi Calculation

Um servidor profissional de cálculo de Bazi (astrologia chinesa) que oferece análise completa incluindo quatro pilares, cinco elementos, zodíaco e datas lunares com suporte a fuso horário.

Documentação

Servidor MCP de Cálculo Bazi

🔮 Servidor MCP profissional de cálculo Bazi

npm version License: MIT

✨ Recursos

  • 🚀 Inicialização com um comando: npx @mymcp-fun/bazi
  • 📊 Análise Bazi completa: Quatro Pilares, Cinco Elementos, signo do zodíaco chinês, signo do zodíaco ocidental, data do calendário lunar
  • 🌍 Suporte a fuso horário: Cálculo preciso com suporte a fusos horários globais
  • 🔗 Compatível com o protocolo MCP: Integração perfeita com clientes MCP como Claude Desktop
  • ⚡ Construído com TypeScript: Segurança de tipos, excelente desempenho
  • 🧪 Testes completos: 100% de cobertura de testes

🚀 Início rápido

Uso direto (recomendado)

npx @mymcp-fun/bazi

Instalação global

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

🔧 Configuração do cliente MCP

Claude Desktop

Adicione em claude_desktop_config.json:

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

Outros clientes MCP

Este servidor é compatível com todos os clientes MCP padrão, incluindo:

  • Claude Desktop
  • Zed Editor
  • VS Code (por meio da extensão MCP)
  • Clientes MCP personalizados

📊 API de ferramentas

get_bazi_details

Calcula o Bazi (Oito Caracteres) e informações dos Cinco Elementos

Parâmetros de entrada:

  • year (number): Ano de nascimento (1900-2100)
  • month (number): Mês de nascimento (1-12)
  • day (number): Dia de nascimento (1-31)
  • hour (number): Hora de nascimento (0-23)
  • gender (string, opcional): Gênero "male" ou "female", padrão "male"
  • timezone (string, opcional): Fuso horário, padrão "Asia/Shanghai"

Resultado retornado:

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

🧪 Desenvolvimento e testes

Clonar o projeto

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

Instalar dependências

npm install

Modo de desenvolvimento

npm run dev

Compilar o projeto

npm run build

Executar testes

# 运行所有测试
npm test

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

📁 Estrutura do projeto

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

🔧 Pilha tecnológica

  • MCP SDK: @modelcontextprotocol/sdk (versão mais recente)
  • Cálculo Bazi: lunar-javascript (biblioteca confiável, 1600+ downloads semanais)
  • Linguagem de desenvolvimento: TypeScript 5.0+
  • Ambiente de execução: Node.js 18+
  • Gerenciamento de dependências: npm

📦 Uso como biblioteca

Este pacote pode ser usado não apenas como servidor MCP, mas também como biblioteca npm diretamente em seus projetos:

npm install @mymcp-fun/bazi

Módulos exportados disponíveis

  • @mymcp-fun/bazi/service - Classe de serviço de cálculo Bazi
  • @mymcp-fun/bazi/types - Definições de tipos TypeScript
  • @mymcp-fun/bazi - Servidor MCP completo

📝 Exemplos de uso

Uso no Claude Desktop

  1. Após configurar o servidor MCP, reinicie o Claude Desktop
  2. Ver o ícone de ferramenta indica que o servidor está conectado
  3. Exemplo de pergunta:
请帮我计算一下2006年1月28日23时50分出生的人的八字信息

O Claude chamará automaticamente a ferramenta de cálculo Bazi e retornará uma análise detalhada:

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

Exemplo de chamada 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.星座}`);

🎯 Garantia de precisão

Base técnica

  • Usa lunar-javascript como mecanismo de cálculo, uma das bibliotecas de cálculo do calendário lunar chinês mais confiáveis
  • Mais de 1600 downloads semanais, superando em muito outros pacotes similares
  • Mantido pelo desenvolvedor profissional 6tail, projetado especificamente para algoritmos tradicionais chineses

Verificação de testes

  • ✅ Testes de casos clássicos de astrologia tradicional aprovados
  • ✅ Testes de tratamento de horários limite aprovados
  • ✅ Verificação de cálculo em todos os fusos horários aprovada
  • ✅ 100% de cobertura de testes

Recursos de cálculo

  • Suporte completo ao cálculo dos Troncos Celestiais e Ramos Terrestres
  • Análise precisa dos Cinco Elementos e cálculo de pesos
  • Determinação correta do signo do zodíaco chinês e do zodíaco ocidental
  • Conversão precisa de datas do calendário lunar

🌟 Por que escolher este pacote?

  1. Distribuição simples: Um comando npm, sem configuração complexa de ambiente
  2. Cálculo preciso: Baseado na biblioteca confiável lunar-javascript, garantindo resultados confiáveis
  3. Recursos completos: Não apenas os Quatro Pilares, mas também signo do zodíaco chinês, zodíaco ocidental, calendário lunar e análise dos Cinco Elementos
  4. Amigável para desenvolvimento: Segurança de tipos TypeScript, experiência de desenvolvimento moderna
  5. Compatibilidade com ecossistema: Suporte perfeito ao protocolo MCP, integrável com vários clientes de IA

📞 Suporte

📄 Licença

MIT License - Consulte o arquivo LICENSE para obter detalhes.


🌟 Se este projeto foi útil para você, dê uma estrela para apoiar!