mcpField
S
saju-mcp

saju-mcp

本地服务
github.com/ghdejr11-beep游戏娱乐018 周前更新

关于 saju-mcp

saju-mcp 将韩国四柱命理(Saju/BaZi)API 封装为 MCP 服务,供 MCP 客户端在对话中计算、解读和比较命盘。它还提供每日运势,并以结构化数据返回结果。

主要功能

  1. 01计算四柱与五行分布
  2. 02解读十神、用神和大运
  3. 03比较两人命盘契合度
  4. 04查询指定日期每日运势
  5. 05支持 10 种输出语言
  6. 06同时返回文本和结构化数据

适用场景

  1. 01根据出生日期生成四柱命盘
  2. 02获取完整命理解读
  3. 03比较两人的命盘及契合度
  4. 04按日主查询某日运势

MCP 相关

这是一个通过 stdio 提供四种命理工具的 MCP 服务,调用 Saju API。MCP 客户端可使用这些工具计算、解读和比较命盘,以及查询每日运势。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ghdejr11-beep-saju": {
"command": "npx",
"args": [
"-y",
"saju-mcp"
],
"env": {
"SAJU_API_KEY": "<SAJU_API_KEY>"
}
}
}
}
启动命令npx -y saju-mcp
需要配置的环境变量
SAJU_API_KEY密钥Saju API key (sajuapi_* form). Free tier 100 req/day, no card. Get one at https://saju-api.pages.dev

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmsaju-mcp0.1.0

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
dayinteger是出生日期,1–31
hourinteger是24 小时制的出生小时(0–23)。如果小时未知,请使用 -1。
langenum否输出语言(默认值为 ko)。可选值:ko、en、ja、zh、es、pt-br、vi、id、hi、thko | en | ja | zh | es | pt-br | vi | id | hi | th
yearinteger是阳历(公历)出生年份,1920–2050
monthinteger是出生月份,1–12
genderenum是性别:'M' 或 'F'(会影响大运方向)。M | F

详细介绍

Saju MCP — 韩国四柱与 BaZi 占星术

npm node MCP Registry license

一个 MCP(Model Context Protocol)服务,封装了 Saju API —— 韩国四柱命理(사주팔자 / BaZi / 八字),让任何支持 MCP 的 AI 客户端(Claude Desktop、Cursor、VS Code、Windsurf 和自定义 Agent)都能在对话中直接计算、解读和比较韩国 Saju 命盘。

SAJU_API_KEY="sajuapi_free_xxx" npx saju-mcp

30 秒上手:获取免费密钥 → 添加配置 → 向 AI 客户端提问 “计算一位 1990-05-15 14:00 出生的男性的 Saju。”


为什么选择这个 MCP?

  • 唯一可作为 MCP 服务使用的生产级韩国 Saju 引擎。
  • 经 KASI 验证的农历转换(交叉核对超过 47,000 天,零失败)。
  • 十神(十神)+ 用神(用神)+ 大运(大運)——通用西方占星 API 不具备的解读功能;这类 API 只会返回太阳/月亮星座。
  • 支持 10 种输出语言:韩语、英语、日语、中文、西班牙语、葡萄牙语、越南语、印度尼西亚语、印地语、泰语。
  • **免费套餐:每天 100 次请求,无需信用卡。**采用免费增值模式——今天即可开始构建,仅在应用需要生产级用量时升级。

由线上 API https://saju-api.pages.dev 提供支持。

实际使用效果

用自然语言向 AI 客户端提问;它会调用 saju_calculate 并获取可供推理的结构化数据。以下是线上 API 对 { year: 1990, month: 5, day: 15, hour: 14, gender: "M", lang: "en" } 返回的真实、未经编辑的响应:

{
  "pillars": {
    "year":  { "stem": "경", "branch": "오", "stem_hanja": "庚", "branch_hanja": "午" },
    "month": { "stem": "신", "branch": "사", "stem_hanja": "辛", "branch_hanja": "巳" },
    "day":   { "stem": "경", "branch": "진", "stem_hanja": "庚", "branch_hanja": "辰" },
    "hour":  { "stem": "계", "branch": "미", "stem_hanja": "癸", "branch_hanja": "未" }
  },
  "elements": { "wood": 0, "fire": 2, "earth": 2, "metal": 3, "water": 1 },
  "day_master": { "stem": "경", "element": "metal", "polarity": "yang" },
  "zodiac": "horse",
  "tier": "free",
  "remaining": 99
}

每个响应都会同时以人类可读文本和 structuredContent 的形式返回给模型,因此 Agent 可以直接根据 day_master.element、elements、合婚 score 等字段进行分支处理,无需重新解析文字。

工具

工具上游端点功能
saju_calculatePOST /api/v1/calculate根据阳历出生日期计算四柱(天干+地支+汉字)、五行分布、日主和生肖。
saju_interpretPOST /api/v1/interpret完整解读:十神(십신)、藏干、用神(용신)、大运(대운)和本地化摘要。
saju_compatibilityPOST /api/v1/compatibility两人合婚评分(0–100)及详细分析(五行平衡、日主关系、地支合冲)。
saju_dailyGET /api/v1/daily根据日主和日期生成每日运势概览(评分 + 建议)。

快速开始

1. 获取免费 API 密钥(无需信用卡)

免费套餐每天可请求 100 次,无需信用卡:

curl -X POST https://saju-api.pages.dev/api/v1/keys/create \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]"}'

响应中包含一个格式为 sajuapi_free_... 的 api_key:

{
  "api_key": "sajuapi_free_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "tier": "free",
  "daily_limit": 100,
  "rps": 1,
  "monthly_price_usd": 0,
  "note": "Store this key safely — it is shown only once. Send with header `X-API-Key: <key>`."
}

密钥仅显示一次——请立即保存。密钥通过 SAJU_API_KEY 环境变量传递给服务,绝不会硬编码。(不接受一次性邮箱或 example.com 邮箱域名——请使用真实邮箱地址。)

2.(可选)无需 MCP 客户端即可进行冒烟测试

npx 可直接从 npm 运行服务,无需克隆仓库或本地构建:

SAJU_API_KEY="sajuapi_free_xxx" npx -y saju-mcp

服务通过标准输入/输出(stdio)使用 MCP,并提供四个 saju_* 工具。按 Ctrl-C 退出。

3. 在 MCP 客户端中注册

该服务基于 stdio,因此每个 MCP 客户端都使用相同的三项配置: command: npx、args: ["-y", "saju-mcp"],以及包含 SAJU_API_KEY 的 env。

Claude Desktop

编辑配置文件,然后重启 Claude Desktop:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "saju": {
      "command": "npx",
      "args": ["-y", "saju-mcp"],
      "env": { "SAJU_API_KEY": "sajuapi_free_your_key_here" }
    }
  }
}
Cursor

添加到 ~/.cursor/mcp.json(全局)或 .cursor/mcp.json(按项目),然后 重新加载:

{
  "mcpServers": {
    "saju": {
      "command": "npx",
      "args": ["-y", "saju-mcp"],
      "env": { "SAJU_API_KEY": "sajuapi_free_your_key_here" }
    }
  }
}
VS Code (GitHub Copilot / MCP)

添加到工作区中的 .vscode/mcp.json:

{
  "servers": {
    "saju": {
      "command": "npx",
      "args": ["-y", "saju-mcp"],
      "env": { "SAJU_API_KEY": "sajuapi_free_your_key_here" }
    }
  }
}
Windsurf

添加到 ~/.codeium/windsurf/mcp_config.json,然后刷新 MCP 服务:

{
  "mcpServers": {
    "saju": {
      "command": "npx",
      "args": ["-y", "saju-mcp"],
      "env": { "SAJU_API_KEY": "sajuapi_free_your_key_here" }
    }
  }
}

重启 / 重新加载客户端。四个 saju_* 工具会显示在工具列表中。


工具输入示例

saju_calculate / saju_interpret:

{ "year": 1990, "month": 5, "day": 15, "hour": 14, "gender": "M", "lang": "en" }

(如果出生时辰未知,则 hour: -1。)

saju_compatibility:

{
  "person_a": { "year": 1990, "month": 5, "day": 15, "hour": 14, "gender": "M" },
  "person_b": { "year": 1992, "month": 8, "day": 3,  "hour": 9,  "gender": "F" },
  "lang": "en"
}

saju_daily(来自先前 calculate/interpret 调用的日主):

{ "day_master": "갑", "date": "2026-06-17", "lang": "en" }

输入范围(由服务端验证,与 API 保持一致):year 为 1920–2050, month 为 1–12,day 为 1–31,hour 为 -1–23,gender 为 "M"|"F",lang 为 10 种 受支持代码之一(默认值为 ko)。

环境变量

变量必需默认值说明
SAJU_API_KEY是(用于实际调用)(empty)你的 sajuapi_* 密钥,会作为 X-API-Key 标头发送。没有该密钥时,每次调用都会返回 401 invalid_api_key。
SAJU_API_BASE否https://saju-api.pages.dev覆盖上游基础 URL(例如暂存部署)。

错误与故障排除

上游调用失败时,工具会返回 MCP 错误结果(isError: true), 其文本为 Saju API error <status>: <body>,后面附带提示。常见情况:

症状HTTP 状态原因解决方法
401 invalid_api_key401SAJU_API_KEY 缺失、输入错误或已撤销。将环境变量设置为有效的 sajuapi_* 密钥。免费获取一个。
429(超过每日配额)429免费版每天 100 次请求,每秒 1 次请求。等待每日配额重置,或升级到付费版以满足生产环境的用量。
invalid_input400字段超出范围(例如 month: 13)或缺失。检查上述输入范围;reason 字段会指出出错的字段。
客户端中未显示工具—客户端尚未重启,或 npx 无法获取程序包。重启客户端;在终端中运行一次 npx -y saju-mcp,确认程序可以启动。
non_json_response任意上游返回了非 JSON 内容(少见;网络 / 代理问题)。重试;如果问题持续,请检查 SAJU_API_BASE 是否正确。

密钥不会出现在工具输出或日志中。如果密钥泄露,请创建一个新密钥——旧密钥仍有独立配额,可弃用。

从源代码开发 / 构建

git clone https://github.com/ghdejr11-beep/saju-mcp.git
cd saju-mcp
npm install
npm run build      # compiles src/index.ts -> dist/index.js
npm run typecheck  # tsc --noEmit

直接运行本地构建:

{
  "mcpServers": {
    "saju": {
      "command": "node",
      "args": ["/absolute/path/to/saju-mcp/dist/index.js"],
      "env": { "SAJU_API_KEY": "sajuapi_free_your_key_here" }
    }
  }
}

需要 Node.js 18+(使用内置的全局 fetch)。

升级到生产环境

免费版(每天 100 次请求,每秒 1 次请求)适用于开发和评估。应用 发布后,可在同一 API 上使用更高用量的套餐——请访问 https://saju-api.pages.dev 查看当前套餐和密钥接口。代码 和配置无需更改;只需更换密钥。

相关项目

  • Korea Calendar API — 通过 REST 提供韩国公共假日、阴历↔阳历转换、干支(간지)柱 和 24 节气。需要获取 saju 解读背后的原始历法数据时,可与此服务自然搭配使用: https://korea-calendar-api.kunstudio.workers.dev

许可证

专有 — KunStudio。封装 Saju API;须遵守该 API 的条款。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。