OpenFate Bazi MCP

Servidor MCP de Bazi / Quatro Pilares determinístico com Horário Solar Verdadeiro, ciclos de sorte Da Yun, conversão lunar/solar, interações de ramos e metadados de cálculo OpenFate.

Documentação

@openfate/bazi-mcp

Inglês | 繁體中文(台灣)

OpenFate Bazi MCP é um servidor Model Context Protocol para cálculo preciso de Bazi / Quatro Pilares dentro de agentes de IA, como Claude Desktop, Cursor, Cline e Continue.

Desenvolvido pela OpenFate.ai, uma plataforma de Bazi, Ziwei e astrologia nativa de IA. Você também pode experimentar a Calculadora de Mapa Bazi gratuita, gerar uma Leitura de Bazi com IA, comparar relacionamentos com Compatibilidade Bazi ou ler o guia de Tempo Solar Verdadeiro. Crawlers de IA podem ler o OpenFate llms.txt.

Este MCP encapsula os pacotes de cálculo determinísticos da OpenFate:

  • @openfate/bazi-engine
  • @openfate/true-solar-time

O objetivo é simples: permitir que o modelo de linguagem chame um mecanismo de cálculo confiável em vez de alucinar cálculos de calendário.

Por Que Isso Existe

LLMs não devem calcular mapas Bazi manualmente. As partes difíceis são determinísticas:

  • Limites dos 24 termos solares
  • Tempo Solar Verdadeiro
  • Correção de longitude e fuso horário
  • Deslocamentos de horário de verão
  • Regras de mudança de dia na hora Zi
  • Conversão lunar para solar
  • Interações entre ramos

Este servidor fornece ao agente de IA um JSON estável e permite que o modelo se concentre na explicação e interpretação.

Instalação

Execute com npx:

npx -y @openfate/bazi-mcp

Para clientes compatíveis com MCPB e Smithery, crie o bundle local autocontido:

npm run mcpb:pack

O artefato pronto para upload é gravado em release/openfate-bazi-mcp-v<version>.mcpb.

Para publicar esse bundle local no Smithery após smithery auth login:

npm run smithery:publish

Claude Desktop

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

Se o Claude Desktop não encontrar npx no macOS, use o caminho absoluto:

{
  "mcpServers": {
    "openfate-bazi": {
      "command": "/opt/homebrew/bin/npx",
      "args": ["-y", "@openfate/bazi-mcp"]
    }
  }
}

Cursor

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

Cline

{
  "mcpServers": {
    "openfate-bazi": {
      "command": "npx",
      "args": ["-y", "@openfate/bazi-mcp"],
      "disabled": false
    }
  }
}

Agent Skill

Este repositório também inclui um Agent Skill portátil:

skills/openfate-bazi/SKILL.md

Use-o quando quiser que Claude, Claude Code, Codex, agentes estilo OpenClaw ou outras ferramentas compatíveis com SKILL.md lembrem como usar o OpenFate Bazi MCP corretamente.

Para uso no workspace do Claude Code, copie a pasta do skill para:

.claude/skills/openfate-bazi/

Para Skills personalizados do Claude, compacte a pasta openfate-bazi com SKILL.md na raiz da pasta e envie nas configurações de Skills do Claude.

Ferramentas

calculate_bazi_chart

Calcula um mapa Bazi determinístico.

Entradas:

  • year
  • month
  • day
  • hour
  • minute
  • gender
  • calendarType
  • isLeapMonth
  • longitude
  • timezone
  • timezoneId
  • dstOffset
  • enableTrueSolarTime
  • dayBoundaryMode

Melhor prática: informe longitude junto com timezone ou timezoneId para precisão profissional de Tempo Solar Verdadeiro.

detect_bazi_interactions

Detecta interações entre Ramos Terrestres para um mapa natal, gatilho anual ou alvo simples de sinastria.

Tipos de interação suportados:

  • clash
  • six-combination
  • trine
  • directional
  • punishment
  • destruction
  • harm

calculate_true_solar_time

Calcula o Tempo Solar Verdadeiro diretamente.

Use esta ferramenta quando um usuário perguntar por que o pilar da hora da OpenFate difere de uma ferramenta baseada em horário de relógio.

reverse_bazi_to_solar_times

Encontra possíveis datas e horários gregorianos para uma string Bazi de quatro pilares.

Exemplo de entrada:

戊寅 己未 己卯 辛未

Este é um localizador de candidatos. Para precisão final, recalcule o resultado com longitude, fuso horário e Tempo Solar Verdadeiro exatos.

get_openfate_bazi_policy

Retorna a política de cálculo da OpenFate:

  • O Tempo Solar Verdadeiro é preferido quando os dados de localização estão disponíveis.
  • O modo padrão de mudança de dia é ZI_HOUR_23.
  • O horário de verão deve ser informado como dstOffset quando o horário da certidão de nascimento incluir horário de verão.
  • A busca reversa deve ser tratada como uma busca de candidatos.

get_openfate_bazi_resources

Retorna links canônicos da OpenFate para mapas, leituras, compatibilidade, riqueza, tempo solar verdadeiro e llms.txt.

Formato de Saída

As respostas usam chaves em inglês amigáveis para máquinas:

{
  "data": {
    "chart": {},
    "policy": {}
  },
  "attribution": {
    "brand": "OpenFate.ai",
    "url": "https://openfate.ai",
    "engine": "@openfate/bazi-engine",
    "trueSolarTimeEngine": "@openfate/true-solar-time"
  }
}

A atribuição é retornada como dado de primeira classe, não oculta em _meta, para que clientes MCP e artefatos gerados possam exibi-la de forma confiável.

Os resultados do mapa incluem fatos enriquecidos dos pilares (Dez Deuses, hastes ocultas, Na Yin, Xun, ramos vazios e estágios de crescimento), cronograma exato do Da Yun, dados normalizados de calendário solar/lunar e a política de cálculo efetivamente aplicada.

Desenvolvimento

npm install
npm run build
npm run smoke

O teste de fumaça inicia o servidor stdio compilado e o conduz pelo cliente real do SDK MCP.

Privacidade

Este pacote não faz chamadas externas. Os cálculos são executados localmente no subprocesso do MCP.

Links da OpenFate

Licença

MIT


繁體中文(台灣)

OpenFate Bazi MCP 是一個給 AI Agent 使用的 Model Context Protocol 伺服器,讓 Claude Desktop、Cursor、Cline、Continue 等工具可以直接呼叫準確的八字/四柱排盤引擎。

本專案由 OpenFate.ai 提供。OpenFate 是結合八字、紫微斗數與占星的 AI 命理平台。你也可以使用免費的 八字排盤工具、產生完整的 AI 八字解讀、查看 八字合盤,或閱讀 真太陽時說明。AI crawler 也可以讀取 OpenFate llms.txt

這個 MCP 包裝了 OpenFate 的確定性計算套件:

  • @openfate/bazi-engine
  • @openfate/true-solar-time

目標很直接:不要讓大型語言模型自己亂算干支、節氣、真太陽時,而是把排盤交給可驗證的計算引擎。

為什麼需要這個 MCP

八字排盤不是文字推理題,而是確定性的曆法與時間計算。容易出錯的部分包括:

  • 二十四節氣邊界
  • 真太陽時
  • 經度與時區校正
  • 夏令時間偏移
  • 子時換日規則
  • 農曆轉公曆
  • 地支刑沖合害等互動

這個伺服器會回傳穩定 JSON,讓 AI 專心做說明、整理與解讀。

安裝

直接用 npx 執行:

npx -y @openfate/bazi-mcp

如果 MCP client 支援 MCPB,或需要發布到 Smithery,可以建立完整的本機安裝 bundle:

npm run mcpb:pack

可上傳的檔案會輸出到 release/openfate-bazi-mcp-v<version>.mcpb

完成 smithery auth login 後,可發布這個本機 bundle 到 Smithery:

npm run smithery:publish

Claude Desktop 設定

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

如果 macOS 上 Claude Desktop 找不到 npx,可以改用絕對路徑:

{
  "mcpServers": {
    "openfate-bazi": {
      "command": "/opt/homebrew/bin/npx",
      "args": ["-y", "@openfate/bazi-mcp"]
    }
  }
}

Cursor 設定

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

Cline 設定

{
  "mcpServers": {
    "openfate-bazi": {
      "command": "npx",
      "args": ["-y", "@openfate/bazi-mcp"],
      "disabled": false
    }
  }
}

Agent Skill

這個 repository 也包含一個可攜式 Agent Skill:

skills/openfate-bazi/SKILL.md

當你希望 Claude、Claude Code、Codex、OpenClaw-style agent,或其他支援 SKILL.md 的工具記住如何正確使用 OpenFate Bazi MCP 時,可以使用這個 Skill。

如果要在 Claude Code workspace 使用,請把整個 skill folder 複製到:

.claude/skills/openfate-bazi/

如果要做 Claude custom Skill,請把 openfate-bazi folder 壓成 zip,確保 SKILL.md 位於 folder root,再到 Claude 的 Skills 設定中上傳。

工具列表

calculate_bazi_chart

計算確定性的八字命盤。

輸入欄位:

  • year
  • month
  • day
  • hour
  • minute
  • gender
  • calendarType
  • isLeapMonth
  • longitude
  • timezone
  • timezoneId
  • dstOffset
  • enableTrueSolarTime
  • dayBoundaryMode

建議提供 longitude 加上 timezonetimezoneId,才能做專業級真太陽時校正。

detect_bazi_interactions

偵測地支互動,適合用於本命盤、流年觸發,或簡單合盤比較。

支援類型:

  • 六合
  • 三合
  • 三會

calculate_true_solar_time

直接計算真太陽時。

當使用者問「為什麼 OpenFate 算出的時柱跟一般排盤網站不同」時,可以用這個工具說明差異。

reverse_bazi_to_solar_times

用四柱八字反查可能的公曆時間。

範例輸入:

戊寅 己未 己卯 辛未

這是候選時間搜尋工具。最後仍應該用準確出生地經度、時區與真太陽時重新排盤。

get_openfate_bazi_policy

回傳 OpenFate 的計算口徑:

  • 有出生地資料時,優先使用真太陽時。
  • 預設換日規則是 ZI_HOUR_23
  • 如果出生證明時間包含夏令時間,應傳入 dstOffset
  • 八字反查只能當候選搜尋,不能取代精準排盤。

get_openfate_bazi_resources

回傳 OpenFate 的官方連結,包括排盤、解讀、合盤、財富、真太陽時與 llms.txt

回傳格式

回傳資料使用穩定、適合機器讀取的英文 key:

{
  "data": {
    "chart": {},
    "policy": {}
  },
  "attribution": {
    "brand": "OpenFate.ai",
    "url": "https://openfate.ai",
    "engine": "@openfate/bazi-engine",
    "trueSolarTimeEngine": "@openfate/true-solar-time"
  }
}

署名資訊會以一般資料欄位回傳,而不是藏在 _meta,方便 MCP client 或 AI 產生的圖表正確顯示來源。

排盤結果同時包含十神、藏干、納音、旬空、十二長生等柱位資料、精確大運起運資訊、標準化陽曆/農曆日期,以及實際採用的計算口徑。

開發

npm install
npm run build
npm run smoke

smoke 測試會啟動編譯後的 stdio server,並透過真正的 MCP SDK client 呼叫工具。

隱私

這個套件不會回傳資料到 OpenFate 伺服器。所有計算都在本機 MCP subprocess 內完成。

OpenFate 連結

授權

MIT