Skip to main content
Glama
yolstudio26-oss

Saroday MCP Server

@saroday/mcp-server

用于 Saroday 的 MCP (Model Context Protocol) 服务器 — 提供韩国四柱 (사주) 计算和命理学 (命理學) 词汇查询。

此 MCP 服务器允许 Claude Desktop、Cline、Cursor 以及任何其他支持 MCP 的 AI 客户端通过调用底层的 Saroday 公共 API 来执行准确的韩国四柱(八字)计算。


功能介绍

连接后,AI 客户端将获得以下四个工具的使用权限:

工具

描述

calculate_saju

根据出生日期/时间/性别计算完整的四柱分析(八字、十星、神煞、合冲、十二运星、用神、大运)。

lookup_glossary

查询 80 多个命理学术语(如 도화살、천을귀인、식신、육합等)并获取完整的韩语解释。

get_daily_fortune

获取 12 个西方星座或 12 个中国生肖的每日运势。服务器端缓存,响应迅速。

discover_saroday_api

列出可用的 Saroday API 端点和元数据。

为什么这很重要:当直接询问时,ChatGPT、Claude 和其他大语言模型经常会错误地计算四柱,因为万岁历 (萬歲曆) 查询和节气 (절기) 边界处理需要精确的数据。此 MCP 将数学计算委托给经过验证的服务器,同时让 AI 专注于解读。


Related MCP server: 命盘 Mingpan

安装

选项 A — npx (无需安装)

npx @saroday/mcp-server

选项 B — 全局安装

npm install -g @saroday/mcp-server
saroday-mcp

选项 C — 克隆并运行

git clone https://github.com/saroday/mcp-server.git
cd mcp-server
npm install
node index.js

需要 Node.js 18 或更高版本。


配置 Claude Desktop

编辑您的 Claude Desktop 配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

添加(或合并)以下内容:

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

重启 Claude Desktop。您应该会在 MCP 服务器面板(输入区域的插头图标)中看到 "saroday"。

本地开发(从克隆的仓库运行)

{
  "mcpServers": {
    "saroday": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-server/index.js"]
    }
  }
}

配置 Cline / Cursor / 其他 MCP 客户端

任何支持 stdio 传输的 MCP 客户端均可使用。将其指向 saroday-mcp 二进制文件或 node index.js。有关确切的配置格式,请参阅您的客户端文档。


尝试一下

连接后,您可以向 Claude 询问如下问题:

  • "My birthday is March 15, 1992 at 10am. Calculate my Korean Saju."

  • "What does 도화살 (dohwa-sal) mean in Korean fortune-telling?"

  • "내 사주 봐줘. 1990년 5월 20일 음력 14시 여성."

  • "제왕(jeokwang) 12-unseong이 뭐야?"

Claude 将自动调用 calculate_saju 或 lookup_glossary,并根据返回的结构化数据为您提供精炼的解读。


环境变量

变量

默认值

用途

SARODAY_API_BASE

https://saroday.com

覆盖 API 基础 URL(例如,用于自托管或测试环境)。


速率限制

公共 Saroday API 允许免费使用,限制为 每 IP 每小时 100 次请求。重度用户(如向许多最终用户提供服务的应用程序、处理大量并发用户的 AI 代理)应申请 API 密钥(即将推出)以获得更高的配额。

联系方式:contact@saroday.com


工作原理

[User in Claude Desktop]
        ↓ types "내 사주 봐줘"
[Claude Desktop]
        ↓ calls calculate_saju via MCP stdio
[saroday-mcp (this package, runs locally)]
        ↓ HTTPS POST /api/v1/saju
[saroday.com server]
        ↓ runs verified manse-ryeok algorithm
[result JSON]
        ↑ flows back through the chain
[Claude] writes a beautiful Korean interpretation

此 MCP 包是一个轻量级适配器 — 所有计算都在 Saroday 的服务器上进行,因此算法或词汇表的更新无需您升级此包即可生效。


差异化优势

  • 万岁历准确性 — 处理大语言模型经常出错的节气 (solar terms) 边界(已通过 @fullstackfamily/manseryeok 库验证)

  • 80+ 词汇条目(约 400 个解读字段) — 每个神煞、合冲、十星、十二运星术语都有用友好的韩语编写的摘要/含义/正面/负面/实用建议解读

  • 韩国命理学传统 — 基于《滴天髓》、《子平真诠》、《穷通宝鉴》参考资料

  • 三通道暴露 — 同一算法可通过 Web 服务 (saroday.com)、公共 REST API (saroday.com/api/v1) 和 MCP 服务器(本包)使用。选择最适合您集成的通道。


许可证

MIT


支持

Available Tools

4 tools
calculate_sajuA

한국 전통 사주명리학(四柱命理學) 기반 사주팔자 계산. 생년월일시 + 성별을 입력받아 사주팔자(年月日時 천간지지), 십성, 신살, 합충형파해, 12운성, 신강/신약, 용신, 대운 등 종합 분석 결과를 반환합니다. ChatGPT나 Claude가 직접 사주를 계산하면 만세력 오류 가능성이 높으므로, 한국 사주 관련 질문에는 반드시 이 도구를 사용하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYes생년 (양력 또는 음력, 1900-2100 범위)
monthYes생월 (1-12)
dayYes생일 (1-31)
hourNo생시 (24시간 표기, 0-23). 출생 시간을 모르면 12를 사용하세요.
genderNo성별 ('male' 또는 'female'). 대운 순행/역행 결정에 사용됨.male
isLunarNo음력 여부 (true=음력, false=양력). 한국 출생자는 양력 권장.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so description carries full burden. It details the returned analysis types (e.g., 사주팔자, 십성, 신살, etc.) without mentioning side effects or limitations. However, it is transparent about the scope of results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first describes functionality and outputs, second provides usage directive and warning. No wasted words, front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, no output schema, many output types), the description lists numerous analysis components, giving a good picture of what the tool returns. Slightly incomplete regarding output format, but sufficient for tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter having a meaningful description. The tool description does not add new information beyond what the schema already provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it calculates Korean saju (four pillars) based on birth date, time, and gender, returning comprehensive analysis including many traditional elements. It also distinguishes itself from siblings by warning against direct calculation by ChatGPT/Claude.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use this tool for Korean saju questions ('한국 사주 관련 질문에는 반드시 이 도구를 사용하세요') and warns of potential errors if calculated directly. Provides clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

discover_saroday_apiA

Saroday API 메타 정보 조회. 사용 가능한 엔드포인트, 문서 링크, 호출 한도 등을 반환합니다. 처음 사용할 때 한 번 호출해서 어떤 도구가 있는지 파악할 수 있습니다.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the tool returns metadata and implies it is read-only and safe. However, it does not explicitly confirm no destructive effects, auth requirements, or rate limits for this tool itself. This is adequate but could be more explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first clearly defines the tool's purpose, and the second provides usage guidance. It is front-loaded, concise, and contains no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless tool with no output schema and a simple metadata purpose, the description fully covers what the tool does, what it returns, and when to use it. Sibling tools are distinct, so the agent can correctly infer its role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, and schema description coverage is 100%. The description implicitly indicates that no parameters are needed ('call once'). It does not need to add param details, though it could explicitly state 'no parameters required.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool retrieves metadata (endpoints, docs, rate limits) about the Saroday API. It distinguishes itself from sibling tools like calculate_saju, get_daily_fortune, and lookup_glossary, which are specific application tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises calling this tool once at first use to understand available tools. This provides clear when-to-use guidance, though it does not mention when not to use it or specify alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_daily_fortuneA

오늘의 운세 조회 (별자리 또는 띠). 한국 사용자가 가장 자주 보는 운세 카테고리. 사용자가 '오늘의 운세 봐줘', '내 별자리 오늘 어때?', '말띠 오늘 운세' 같은 질문을 할 때 사용하세요. GPT 기반 자연어 운세지만 사로 서버에서 하루 한 번만 생성하고 캐시하므로 응답 빠름.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes'zodiac' = 서양 별자리 (12개), 'chinese' = 동양 띠 (12개)
signYes별자리 또는 띠 ID. zodiac: aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces. chinese: rat, ox, tiger, rabbit, dragon, snake, horse, sheep, monkey, rooster, dog, pig. 사용자 생년월일을 받았다면 자체적으로 계산하여 ID 추론 후 호출.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description adds valuable behavioral context: GPT-based but cached daily for fast response. Does not contradict any annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences front-loaded with purpose, then usage examples and technical detail. No redundancy; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description provides enough for an agent to understand purpose and when to call. Missing return format is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds example queries, explains enum values, and mentions automatic sign inference from birth date, surpassing schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states '오늘의 운세 조회 (별자리 또는 띠)' and provides example user queries, making the purpose specific and distinguishing from siblings like calculate_saju.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes when to use with example queries and notes the cached nature. Lacks explicit exclusions or alternatives but context from siblings suffices.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_glossaryA

명리학 용어 풀이 조회. 십성(비견·겁재·식신·상관·편재·정재·편관·정관·편인·정인), 신살(천을귀인·도화살·역마살·양인살·괴강살 등 28+ 종류), 합충형파해(천간합/충, 육합·삼합·반합·방합, 충/형/파/해/원진), 12운성(장생·목욕·관대·건록·제왕·쇠·병·사·묘·절·태·양) 등 80+개 용어 풀이를 반환합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
termYes조회할 명리학 용어 (한글). 예: '도화살', '식신', '천을귀인', '육합', '제왕'

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description indicates a read-only lookup returning definitions, but does not disclose whether it is idempotent, any authentication requirements, or rate limits. With no annotations, the description carries the full burden but only states what it does, not behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single-sentence description is front-loaded with the core action, then lists categories. It is informative but somewhat long; could be split for readability. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input (1 param, no output schema), the description adequately covers the tool's purpose and scope. It does not mention if the term is case-sensitive or if partial matches are allowed, but the example terms compensate. Reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (parameter 'term' described in both schema and description). The description adds value by listing example terms and categories, providing context beyond the schema's generic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it looks up glossary terms for Myeongrihak, listing specific categories (십성, 신살, 합충형파해, 12운성) and over 80 terms. The verb '조회' and resource '명리학 용어 풀이' are specific, distinguishing it from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use versus alternatives. The context signals show sibling tools like calculate_saju, but the description does not compare them or provide exclusions. Usage is implied: lookup a term when you need its definition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.0
    • First observedcalculate_saju
    • First observeddiscover_saroday_api
    • First observedget_daily_fortune
    • First observedlookup_glossary

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: calculate_saju computes fortune using traditional methods, discover_saroday_api provides API metadata, get_daily_fortune offers daily horoscopes, and lookup_glossary explains terminology. No overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case: calculate_saju, discover_saroday_api, get_daily_fortune, lookup_glossary. No deviation in style.

Tool Count5/5

With 4 tools, the server is well-scoped for its domain of Korean fortune telling. Each tool serves an essential function without redundancy or unnecessary complexity.

Completeness5/5

The tool set covers the core aspects of the domain: personal fortune calculation (saju), daily fortune, glossary reference, and API discovery. No obvious gaps for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables traditional Chinese metaphysics tools like Bazi, Ziwei, and Qimen via MCP, integrating AI analysis for divination and fortune-telling.
    580
    -
  • A
    license
    A
    quality
    A
    maintenance
    Provides traditional Chinese astrology (Bazi, Ziwei) and divination (Liuyao, Meihua, Qimen, etc.) calculations as MCP tools for AI assistants.
    2
    17
    72 npm
    113
    Apache 2.0
  • F
    license
    A
    quality
    D
    maintenance
    Enables MCP clients to compute and interpret Korean Four Pillars of Destiny (Saju) through natural language, including calculation, interpretation, compatibility analysis, and daily fortune.
    4
    23 npm
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that calculates saju (four pillars) from birth date/time and provides entertaining interpretations of daily fortune, yearly luck, compatibility, name analysis, and tarot using MIT-licensed manseryeok-js.
    -