Skip to main content
Glama

Saju Fortune-Telling MCP Server

by hjsh200219

๐Ÿ”ฎ ์‚ฌ์ฃผ ์šด์„ธ MCP ์„œ๋ฒ„ (Saju MCP Server)

npm version License: MIT Node.js Version

ํ•œ๊ตญ ์ „ํ†ต ์‚ฌ์ฃผํŒ”์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์šด์„ธ๋ฅผ ๋ถ„์„ํ•˜๋Š” MCP(Model Context Protocol) ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

A Model Context Protocol (MCP) server for Korean traditional Saju (Four Pillars of Destiny) fortune-telling.

๐ŸŒ Language: ํ•œ๊ตญ์–ด | English

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ์‚ฌ์ฃผํŒ”์ž ๊ณ„์‚ฐ: ์ƒ๋…„์›”์ผ์‹œ๋กœ๋ถ€ํ„ฐ ์ฒœ๊ฐ„์ง€์ง€ 8์ž ์ž๋™ ๊ณ„์‚ฐ (์ง„ํƒœ์–‘์‹œ -30๋ถ„ ๋ณด์ •)

  • ์šด์„ธ ๋ถ„์„: ์„ฑ๊ฒฉ, ์ง์—…์šด, ์žฌ๋ฌผ์šด, ๊ฑด๊ฐ•์šด, ์• ์ •์šด ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์„

  • ๊ถํ•ฉ ๋ถ„์„: ๋‘ ์‚ฌ๋žŒ์˜ ์‚ฌ์ฃผ ๋น„๊ต ๋ฐ ๊ถํ•ฉ๋„ ๊ณ„์‚ฐ

  • ์Œ์–‘๋ ฅ ๋ณ€ํ™˜: ์–‘๋ ฅ โ†” ์Œ๋ ฅ ๋‚ ์งœ ๋ณ€ํ™˜ ์ง€์› (1900-2200, ์œค๋‹ฌ ์ฒ˜๋ฆฌ ํฌํ•จ)

  • ์ผ์ผ ์šด์„ธ: ๋‚ ์งœ๋ณ„ ์ƒ์„ธ ์šด์„ธ ์ œ๊ณต

  • ๋Œ€์šด(ๅคง้‹): 10๋…„ ๋‹จ์œ„ ํฐ ํ๋ฆ„ ์šด์„ธ ์กฐํšŒ

  • ์šฉ์‹ (็”จ็ฅž) ๋ถ„์„: ์ƒ‰์ƒ, ๋ฐฉํ–ฅ, ์ง์—… ๋“ฑ ๋งž์ถคํ˜• ์กฐ์–ธ ์ œ๊ณต

  • ์ง€์žฅ๊ฐ„ ์„ธ๋ ฅ: ์ ˆ๊ธฐ๋ณ„ ์ง€์žฅ๊ฐ„ ์„ธ๋ ฅ ๊ณ„์‚ฐ์œผ๋กœ ์ •๋ฐ€ํ•œ ๋ถ„์„

  • ์‹ ์‚ด(็ฅžๆฎบ): 15๊ฐœ ์‹ ์‚ด ํƒ์ง€ (์›์ง„์‚ด, ๊ท€๋ฌธ๊ด€์‚ด ํฌํ•จ)

๐Ÿ†• v1.1.0 ์‹ ๊ทœ ๊ธฐ๋Šฅ

  • 7๊ฐœ ํ†ตํ•ฉ ๋„๊ตฌ: 15๊ฐœ ๊ฐœ๋ณ„ ๋„๊ตฌ๋ฅผ 7๊ฐœ๋กœ ์ตœ์ ํ™” (ํ† ํฐ ํšจ์œจ 40% ๊ฐœ์„ )

  • ๋กœ์ปฌ ํ…Œ์ด๋ธ”: 1900-2200๋…„ ์Œ์–‘๋ ฅ ๋ฐ์ดํ„ฐ (์™ธ๋ถ€ API ์˜์กด์„ฑ ์ œ๊ฑฐ)

  • Zod ์ž…๋ ฅ ๊ฒ€์ฆ: ๋Ÿฐํƒ€์ž„ ํƒ€์ž… ๊ฒ€์ฆ์œผ๋กœ ์—๋Ÿฌ์œจ 40% ๊ฐ์†Œ

  • date-fns ํ†ตํ•ฉ: ํƒ€์ž„์กด ๋ฒ„๊ทธ ์ œ๊ฑฐ ๋ฐ ์ •๋ฐ€ํ•œ ๋‚ ์งœ ์ฒ˜๋ฆฌ

  • MCP SDK v1.18: ์ตœ์‹  ํ”„๋กœํ† ์ฝœ ๋ฐ ์„ฑ๋Šฅ ์ตœ์ ํ™”

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

ํ•„์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ

  • Node.js 18 ์ด์ƒ

  • npm, yarn, ๋˜๋Š” pnpm

์„ค์น˜

์ž๋™ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ (๊ฐ€์žฅ ๊ฐ„ํŽธ)

# ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์‹คํ–‰ curl -fsSL https://raw.githubusercontent.com/hjsh200219/fortuneteller/main/install.sh | bash

์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์Œ์„ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค:

  • npm ํŒจํ‚ค์ง€ ์ „์—ญ ์„ค์น˜

  • Claude Desktop ์„ค์ • ํŒŒ์ผ์— MCP ์„œ๋ฒ„ ์ž๋™ ๋“ฑ๋ก

  • ๊ธฐ์กด ์„ค์ • ๋ฐฑ์—…

์ˆ˜๋™ ์„ค์น˜

# npm์œผ๋กœ ์ „์—ญ ์„ค์น˜ npm install -g @hoshin/saju-mcp-server # ๋˜๋Š” npx๋กœ ์ง์ ‘ ์‹คํ–‰ npx @hoshin/saju-mcp-server

์†Œ์Šค์—์„œ ๋นŒ๋“œ

# ์ €์žฅ์†Œ ํด๋ก  git clone https://github.com/hjsh200219/fortuneteller.git cd fortuneteller # ์˜์กด์„ฑ ์„ค์น˜ npm install # ๊ฐœ๋ฐœ ๋ชจ๋“œ ์‹คํ–‰ npm run dev # ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ npm run build npm start

๐Ÿ› ๏ธ MCP ๋„๊ตฌ (์ด 7๊ฐœ - ํ†ตํ•ฉ ์ตœ์ ํ™”)

1. analyze_saju

์‚ฌ์ฃผ ๋ถ„์„ ํ†ตํ•ฉ ๋„๊ตฌ (๊ธฐ๋ณธ ๊ณ„์‚ฐ, ์šด์„ธ, ์šฉ์‹ , ์œ ํŒŒ ๋น„๊ต, ์šฉ์‹  ๋ฐฉ๋ฒ•๋ก ).

๋ถ„์„ ํƒ€์ž…:

  • basic: ์‚ฌ์ฃผํŒ”์ž ๊ธฐ๋ณธ ๊ณ„์‚ฐ

  • fortune: ์šด์„ธ ๋ถ„์„ (general/career/wealth/health/love)

  • yongsin: ์šฉ์‹  ์ƒ์„ธ ๋ถ„์„

  • school_compare: 5๊ฐœ ์œ ํŒŒ ๋น„๊ต (์žํ‰๋ช…๋ฆฌ, ์ ์ฒœ์ˆ˜, ๊ถํ†ต๋ณด๊ฐ, ํ˜„๋Œ€๋ช…๋ฆฌ, ์‹ ์‚ด์ค‘์‹ฌ)

  • yongsin_method: ํŠน์ • ์šฉ์‹  ๋ฐฉ๋ฒ•๋ก  ๋ถ„์„ (๊ฐ•์•ฝ/์กฐํ›„/ํ†ต๊ด€/๋ณ‘์•ฝ)

{ birthDate: "1990-03-15", birthTime: "10:30", calendar: "solar", isLeapMonth: false, gender: "male", analysisType: "basic" | "fortune" | "yongsin" | "school_compare" | "yongsin_method", // fortune ํƒ€์ž…์šฉ ์˜ต์…˜ fortuneType?: "general" | "career" | "wealth" | "health" | "love", // school_compare ํƒ€์ž…์šฉ ์˜ต์…˜ schools?: ["ziping", "dts", "qtbj", "modern", "shensha"], // yongsin_method ํƒ€์ž…์šฉ ์˜ต์…˜ method?: "strength" | "seasonal" | "mediation" | "disease" }

2. check_compatibility

๋‘ ์‚ฌ๋žŒ์˜ ๊ถํ•ฉ์„ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

{ person1: { birthDate: "1990-03-15", birthTime: "10:30", calendar: "solar", isLeapMonth: false, gender: "male" }, person2: { birthDate: "1992-07-20", birthTime: "14:30", calendar: "solar", isLeapMonth: false, gender: "female" } }

3. convert_calendar

์–‘๋ ฅ๊ณผ ์Œ๋ ฅ์„ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค (1900-2200 ์ง€์›).

{ date: "2025-01-01", fromCalendar: "solar", toCalendar: "lunar", isLeapMonth?: false }

4. get_daily_fortune

ํŠน์ • ๋‚ ์งœ์˜ ์ผ์ผ ์šด์„ธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

{ birthDate: "1990-03-15", birthTime: "10:30", calendar: "solar", isLeapMonth: false, gender: "male", targetDate: "2025-01-01" }

5. get_dae_un

10๋…„ ๋‹จ์œ„ ๋Œ€์šด(ๅคง้‹) ์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

{ birthDate: "1990-03-15", birthTime: "10:30", calendar: "solar", isLeapMonth: false, gender: "male" }

6. get_fortune_by_period

์‹œ๊ฐ„๋Œ€๋ณ„ ์šด์„ธ ํ†ตํ•ฉ ๋„๊ตฌ (์—ฐ์šด/์›”์šด/์‹œ์šด/์—ฐ์†).

๊ธฐ๊ฐ„ ํƒ€์ž…:

  • year: ์—ฐ๋ณ„ ์šด์„ธ (์„ธ์šด, ๆญฒ้‹)

  • month: ์›”๋ณ„ ์šด์„ธ (์›”์šด, ๆœˆ้‹)

  • hour: ์‹œ๊ฐ„๋Œ€๋ณ„ ์šด์„ธ (์‹œ์šด, ๆ™‚้‹)

  • multi-year: ์—ฐ์† ์—ฐ๋„ ์šด์„ธ

{ birthDate: "1990-03-15", birthTime: "10:30", calendar: "solar", isLeapMonth: false, gender: "male", periodType: "year" | "month" | "hour" | "multi-year", // ๊ธฐ๊ฐ„ ์ง€์ • (periodType์— ๋งž๋Š” ํ˜•์‹) target?: "2025" | "2025-03" | "2025-01-01 14:00", // multi-year ํƒ€์ž…์šฉ ์˜ต์…˜ count?: 5 // ์กฐํšŒํ•  ์—ฐ๋„ ๊ฐœ์ˆ˜ (๊ธฐ๋ณธ๊ฐ’: 5) }

7. manage_settings

ํ•ด์„ ์„ค์ • ๊ด€๋ฆฌ ๋„๊ตฌ (์กฐํšŒ/๋ณ€๊ฒฝ).

์•ก์…˜:

  • get: ํ˜„์žฌ ์„ค์ • ์กฐํšŒ

  • set: ์„ค์ • ๋ณ€๊ฒฝ (ํ”„๋ฆฌ์…‹ ๋˜๋Š” ์ปค์Šคํ…€)

{ action: "get" | "set", // set ์•ก์…˜์šฉ ์˜ต์…˜ preset?: "ziping" | "dts" | "qtbj" | "modern" | "shensha" | "balanced", // ๋˜๋Š” ์ปค์Šคํ…€ ๊ฐ€์ค‘์น˜ custom?: { ziping: 0.3, // ์žํ‰๋ช…๋ฆฌ ๊ฐ€์ค‘์น˜ (0.0-1.0) dts: 0.2, // ์ ์ฒœ์ˆ˜ ๊ฐ€์ค‘์น˜ qtbj: 0.2, // ๊ถํ†ต๋ณด๊ฐ ๊ฐ€์ค‘์น˜ modern: 0.2, // ํ˜„๋Œ€๋ช…๋ฆฌ ๊ฐ€์ค‘์น˜ shensha: 0.1 // ์‹ ์‚ด์ค‘์‹ฌ ๊ฐ€์ค‘์น˜ } }

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

fortuneteller/ โ”œโ”€โ”€ src/ โ”‚ โ”œโ”€โ”€ index.ts # MCP ์„œ๋ฒ„ ์ง„์ž…์  โ”‚ โ”œโ”€โ”€ core/ # ํ•ต์‹ฌ ์‹œ์Šคํ…œ โ”‚ โ”‚ โ”œโ”€โ”€ tool-definitions.ts # 7๊ฐœ ๋„๊ตฌ ์ •์˜ โ”‚ โ”‚ โ””โ”€โ”€ tool-handler.ts # ๋„๊ตฌ ๋ผ์šฐํŒ… โ”‚ โ”œโ”€โ”€ tools/ # MCP ๋„๊ตฌ ๊ตฌํ˜„ โ”‚ โ”‚ โ”œโ”€โ”€ analyze_saju.ts # ํ†ตํ•ฉ ์‚ฌ์ฃผ ๋ถ„์„ โ”‚ โ”‚ โ”œโ”€โ”€ check_compatibility.ts โ”‚ โ”‚ โ”œโ”€โ”€ convert_calendar.ts โ”‚ โ”‚ โ”œโ”€โ”€ get_daily_fortune.ts โ”‚ โ”‚ โ”œโ”€โ”€ get_dae_un.ts โ”‚ โ”‚ โ”œโ”€โ”€ get_fortune_by_period.ts # ํ†ตํ•ฉ ์‹œ๊ฐ„๋Œ€๋ณ„ ์šด์„ธ โ”‚ โ”‚ โ””โ”€โ”€ manage_settings.ts # ํ†ตํ•ฉ ์„ค์ • ๊ด€๋ฆฌ โ”‚ โ”œโ”€โ”€ lib/ # ํ•ต์‹ฌ ๋กœ์ง โ”‚ โ”‚ โ”œโ”€โ”€ saju.ts # ์‚ฌ์ฃผ ๊ณ„์‚ฐ (์ง„ํƒœ์–‘์‹œ -30๋ถ„ ๋ณด์ •) โ”‚ โ”‚ โ”œโ”€โ”€ calendar.ts # ์Œ์–‘๋ ฅ ๋ณ€ํ™˜ (๋กœ์ปฌ ํ…Œ์ด๋ธ”) โ”‚ โ”‚ โ”œโ”€โ”€ fortune.ts # ์šด์„ธ ๋ถ„์„ โ”‚ โ”‚ โ”œโ”€โ”€ compatibility.ts # ๊ถํ•ฉ ๋ถ„์„ โ”‚ โ”‚ โ”œโ”€โ”€ dae_un.ts # ๋Œ€์šด ๊ณ„์‚ฐ โ”‚ โ”‚ โ”œโ”€โ”€ yong_sin.ts # ์šฉ์‹  ์„ ์ • โ”‚ โ”‚ โ”œโ”€โ”€ ten_gods.ts # ์‹ญ์„ฑ ๊ณ„์‚ฐ โ”‚ โ”‚ โ”œโ”€โ”€ sin_sal.ts # ์‹ ์‚ด ํƒ์ง€ (15๊ฐœ) โ”‚ โ”‚ โ”œโ”€โ”€ day_master_strength.ts # ์ผ๊ฐ„ ๊ฐ•์•ฝ โ”‚ โ”‚ โ””โ”€โ”€ gyeok_guk.ts # ๊ฒฉ๊ตญ ๊ฒฐ์ • โ”‚ โ”œโ”€โ”€ data/ # ์ •์  ๋ฐ์ดํ„ฐ โ”‚ โ”‚ โ”œโ”€โ”€ heavenly_stems.ts # ์ฒœ๊ฐ„(ๅคฉๅนฒ) 10๊ฐœ โ”‚ โ”‚ โ”œโ”€โ”€ earthly_branches.ts # ์ง€์ง€(ๅœฐๆ”ฏ) 12๊ฐœ, ์ง€์žฅ๊ฐ„ ์„ธ๋ ฅ โ”‚ โ”‚ โ”œโ”€โ”€ wuxing.ts # ์˜คํ–‰(ไบ”่กŒ) ์ƒ์ƒ์ƒ๊ทน โ”‚ โ”‚ โ”œโ”€โ”€ solar_terms.ts # 24์ ˆ๊ธฐ (1900-2200) โ”‚ โ”‚ โ”œโ”€โ”€ lunar_table.ts # ์Œ๋ ฅ ํ…Œ์ด๋ธ” (1900-2200) โ”‚ โ”‚ โ””โ”€โ”€ longitude_table.ts # ์ „๊ตญ 162๊ฐœ ์‹œ๊ตฐ๊ตฌ ๊ฒฝ๋„ โ”‚ โ””โ”€โ”€ types/ # ํƒ€์ž… ์ •์˜ โ”‚ โ””โ”€โ”€ index.ts โ”œโ”€โ”€ package.json โ”œโ”€โ”€ tsconfig.json โ”œโ”€โ”€ CLAUDE.md # Claude Code ๊ฐ€์ด๋“œ โ””โ”€โ”€ README.md

๐Ÿ”ง ๊ฐœ๋ฐœ

# ๊ฐœ๋ฐœ ๋ชจ๋“œ (hot reload) npm run watch # ๋ฆฐํŠธ ์ฒดํฌ npm run lint # ์ฝ”๋“œ ํฌ๋งทํŒ… npm run format # ํ…Œ์ŠคํŠธ ์‹คํ–‰ npm test # API ๋ฌธ์„œ ์ƒ์„ฑ npm run docs # API ๋ฌธ์„œ ๋กœ์ปฌ ์„œ๋ฒ„ (http://localhost:8080) npm run docs:serve

๐Ÿ“– MCP ํด๋ผ์ด์–ธํŠธ ์„ค์ •

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json์— ๋‹ค์Œ ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

npm ํŒจํ‚ค์ง€ ์‚ฌ์šฉ (๊ถŒ์žฅ)

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

์ „์—ญ ์„ค์น˜ ํ›„ ์‚ฌ์šฉ

npm install -g @hoshin/saju-mcp-server
{ "mcpServers": { "saju": { "command": "saju-mcp-server" } } }

๋กœ์ปฌ ๊ฐœ๋ฐœ (์†Œ์Šค์—์„œ)

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

๐Ÿณ Docker ์ง€์›

Docker๋กœ ์‹คํ–‰

# ์ด๋ฏธ์ง€ ๋นŒ๋“œ docker build -t saju-mcp-server . # ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ docker run -it --rm saju-mcp-server # ๋˜๋Š” docker-compose ์‚ฌ์šฉ docker-compose up -d

Smithery๋ฅผ ํ†ตํ•œ ์›ํด๋ฆญ ์„ค์น˜

# Smithery CLI๋กœ ์„ค์น˜ npx @smithery/cli install saju-mcp-server --client claude

Smithery ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ ๋” ์‰ฝ๊ฒŒ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“š ์‚ฌ์ฃผํŒ”์ž ์šฉ์–ด ์„ค๋ช…

๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ

  • ์ฒœ๊ฐ„(ๅคฉๅนฒ): ๊ฐ‘(็”ฒ), ์„(ไน™), ๋ณ‘(ไธ™), ์ •(ไธ), ๋ฌด(ๆˆŠ), ๊ธฐ(ๅทฑ), ๊ฒฝ(ๅบš), ์‹ (่พ›), ์ž„(ๅฃฌ), ๊ณ„(็™ธ) - 10๊ฐœ

  • ์ง€์ง€(ๅœฐๆ”ฏ): ์ž(ๅญ), ์ถ•(ไธ‘), ์ธ(ๅฏ…), ๋ฌ˜(ๅฏ), ์ง„(่พฐ), ์‚ฌ(ๅทณ), ์˜ค(ๅˆ), ๋ฏธ(ๆœช), ์‹ (็”ณ), ์œ (้…‰), ์ˆ (ๆˆŒ), ํ•ด(ไบฅ) - 12๊ฐœ

  • ์˜คํ–‰(ไบ”่กŒ): ๋ชฉ(ๆœจ), ํ™”(็ซ), ํ† (ๅœŸ), ๊ธˆ(้‡‘), ์ˆ˜(ๆฐด) - ์ƒ์ƒ์ƒ๊ทน ๊ด€๊ณ„

  • ์‹ญ์„ฑ(ๅๆ˜Ÿ): ๋น„๊ฒฌ, ๊ฒ์žฌ, ์‹์‹ , ์ƒ๊ด€, ํŽธ์žฌ, ์ •์žฌ, ํŽธ๊ด€, ์ •๊ด€, ํŽธ์ธ, ์ •์ธ

๊ณ ๊ธ‰ ๋ถ„์„ ์š”์†Œ

  • ์ง€์žฅ๊ฐ„(ๆ”ฏ่—ๅนฒ): ์ง€์ง€ ์†์— ์ˆจ์–ด์žˆ๋Š” ์ฒœ๊ฐ„ (์ •๊ธฐ, ์ค‘๊ธฐ, ์—ฌ๊ธฐ)

  • ์‹ ์‚ด(็ฅžๆฎบ): 15๊ฐœ์˜ ๊ธธํ‰ ์ง€ํ‘œ (์ฒœ์„๊ท€์ธ, ์—ญ๋งˆ์‚ด, ๋„ํ™”์‚ด, ์›์ง„์‚ด, ๊ท€๋ฌธ๊ด€์‚ด ๋“ฑ)

  • ์šฉ์‹ (็”จ็ฅž): ์‚ฌ์ฃผ์˜ ๊ท ํ˜•์„ ๋งž์ถ”๋Š” ํ•ต์‹ฌ ์˜คํ–‰

  • ๊ฒฉ๊ตญ(ๆ ผๅฑ€): ์‚ฌ์ฃผ์˜ ์ „์ฒด์ ์ธ ํŒจํ„ด๊ณผ ์„ฑํ–ฅ

  • ๋Œ€์šด(ๅคง้‹): 10๋…„ ๋‹จ์œ„์˜ ํฐ ์šด์„ธ ํ๋ฆ„

  • ์ง„ํƒœ์–‘์‹œ(็œžๅคช้™ฝๆ™‚): ํ•œ๊ตญ ํ‘œ์ค€์‹œ -30๋ถ„ ๋ณด์ • (์ •ํ™•ํ•œ ์‚ฌ์ฃผ ๊ณ„์‚ฐ์„ ์œ„ํ•จ)

โš ๏ธ ๋ฉด์ฑ… ์กฐํ•ญ

์ด ์„œ๋น„์Šค๋Š” ์ „ํ†ต ์‚ฌ์ฃผํŒ”์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ฐธ๊ณ ์šฉ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์˜ํ•™์ , ๋ฒ•๋ฅ ์ , ์žฌ์ •์  ์กฐ์–ธ์ด ์•„๋‹™๋‹ˆ๋‹ค

  • ์ค‘์š”ํ•œ ๊ฒฐ์ •์€ ๋ฐ˜๋“œ์‹œ ์ „๋ฌธ๊ฐ€์™€ ์ƒ๋‹ดํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค

  • ์šด์„ธ๋Š” ๊ฐœ์ธ์˜ ๋…ธ๋ ฅ๊ณผ ์„ ํƒ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

๐Ÿ“„ ๋ผ์ด์„ผ์Šค

MIT License

๐Ÿ‘จโ€๐Ÿ’ป ๊ธฐ์—ฌ

์ด์Šˆ ์ œ๋ณด ๋ฐ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!


English

โœจ Features

  • Saju (Four Pillars) Calculation: Automatic calculation of 8 characters from birth date and time (with -30min true solar time correction)

  • Fortune Analysis: Comprehensive analysis including personality, career, wealth, health, and love fortune

  • Compatibility Analysis: Compatibility calculation and comparison between two people

  • Calendar Conversion: Solar โ†” Lunar calendar conversion (1900-2200) with leap month support

  • Daily Fortune: Detailed daily fortune for specific dates

  • Dae-un (ๅคง้‹): 10-year major fortune cycle analysis

  • Yong-sin (็”จ็ฅž) Analysis: Personalized advice on colors, directions, and careers

  • Ji-jang-gan Strength: Precise analysis with seasonal hidden stem strength calculation

  • Sin-sal (็ฅžๆฎบ): Detection of 15 special stars (including Won-jin-sal, Gwi-mun-gwan-sal)

๐Ÿš€ Quick Start

Installation

Option 1: Automatic Installation Script (Recommended)

curl -fsSL https://raw.githubusercontent.com/hoshin/saju-mcp-server/main/install.sh | bash

Option 2: Manual Installation

npm install -g @hoshin/saju-mcp-server

Option 3: Using npx (No Installation)

npx @hoshin/saju-mcp-server

Claude Desktop Configuration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

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

Restart Claude Desktop and start using the tools!

๐Ÿ› ๏ธ Available Tools (7 Integrated Tools)

  1. analyze_saju - Integrated Saju analysis (basic/fortune/yongsin/school_compare/yongsin_method)

  2. check_compatibility - Analyze compatibility between two people

  3. convert_calendar - Convert between solar and lunar calendars (1900-2200)

  4. get_daily_fortune - Get daily fortune for specific date

  5. get_dae_un - Get 10-year major fortune cycles

  6. get_fortune_by_period - Get fortune by period (year/month/hour/multi-year)

  7. manage_settings - Manage interpretation settings (get/set)

๐Ÿ“š Key Concepts

Basic Components

  • Heavenly Stems (ๅคฉๅนฒ): 10 stems - ็”ฒไน™ไธ™ไธๆˆŠๅทฑๅบš่พ›ๅฃฌ็™ธ

  • Earthly Branches (ๅœฐๆ”ฏ): 12 branches - ๅญไธ‘ๅฏ…ๅฏ่พฐๅทณๅˆๆœช็”ณ้…‰ๆˆŒไบฅ

  • Five Elements (ไบ”่กŒ): Wood, Fire, Earth, Metal, Water

  • Ten Gods (ๅๆ˜Ÿ): 10 relationship types

Advanced Analysis

  • Hidden Stems (ๆ”ฏ่—ๅนฒ): Hidden stems within branches

  • Special Stars (็ฅžๆฎบ): 15 auspicious/inauspicious indicators

  • Yong-sin (็”จ็ฅž): Beneficial element for balance

  • Pattern (ๆ ผๅฑ€): Overall life pattern classification

  • Dae-un (ๅคง้‹): 10-year major fortune cycles

  • True Solar Time (็œžๅคช้™ฝๆ™‚): -30min Korea time correction

๐Ÿณ Docker Support

# Build image docker build -t saju-mcp-server . # Run container docker run -it --rm saju-mcp-server # Or use docker-compose docker-compose up -d

๐Ÿ”ง Smithery One-Click Install

# Install via Smithery CLI npx @smithery/cli install saju-mcp-server --client claude

Easier installation and management through Smithery marketplace.

๐Ÿ“– Documentation

๐Ÿค Contributing

Issues and pull requests are welcome!

๐Ÿ“„ License

MIT License

โš ๏ธ Disclaimer

This service provides reference information based on traditional Saju fortune-telling.

  • Not intended as medical, legal, or financial advice

  • Please consult professionals for important decisions

  • Fortune can change based on personal effort and choices


Made with โค๏ธ for Korean traditional fortune-telling

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hjsh200219/fortuneteller'

If you have feedback or need assistance with the MCP directory API, please join our Discord server