somyung-saju-mcp
somyung-saju-mcp
MCP (Model Context Protocol) server for Korean Saju (사주팔자) child temperament analysis.
Lets AI assistants such as Claude calculate a child's Four Pillars of Destiny and return their innate temperament, learning style, and parenting guidance — as a framework for understanding a child, not a prediction of their future.
No API key. No network calls. All calculation runs locally.
Built by SoMyung, created by SungHa — a certified Myeongri Psychology Counselor (명리심리상담사 1급) with an MS in Decision Making and Applied Analytics, and a parent of three.
Tools
Tool | Description |
| Four Pillars + Five Element balance + personality traits + learning style + parenting tips |
| Compare two children's temperaments, how they clash, and how to mediate |
| Detailed explanation of any element (wood / fire / earth / metal / water) |
Install
npm install -g somyung-saju-mcpOr run it without installing (see the npx config below).
Configure with Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS
(%APPDATA%\Claude\claude_desktop_config.json on Windows).
Using npx — no install:
{
"mcpServers": {
"somyung-saju": {
"command": "npx",
"args": ["-y", "somyung-saju-mcp"]
}
}
}If installed globally:
{
"mcpServers": {
"somyung-saju": {
"command": "somyung-mcp"
}
}
}Restart Claude Desktop after editing the config.
Configure with Claude Code
claude mcp add somyung-saju -- npx -y somyung-saju-mcpUsage
Once configured, just ask:
"My daughter was born on 2020-05-15 at 14:30. What's her temperament?"
"Compare my two kids: son born 2018-03-20 10:00 and daughter born 2021-07-08 15:30"
"What does the Fire element mean for a child?"
"My son was born 2019-11-22, I don't know the time. What's his personality like?"
The assistant calls the right tool and interprets the structured result conversationally.
How it works
Birth data is parsed (date, optional time, gender).
Four Pillars (년주 / 월주 / 일주 / 시주) are calculated using solar terms (절기), so the month pillar is correct rather than approximated from the calendar month.
Five Element balance is computed across all eight characters — four heavenly stems (천간) and four earthly branches (지지).
A temperament profile is assembled: dominant and weakest elements, personality traits, learning style, social style, emotional patterns, and parenting tips.
The AI host receives structured data and gives a natural interpretation.
Four pillars, each drawn from the 60-term sexagenary cycle, yield 518,400 distinct profiles — about 32,400 times more granular than MBTI's 16 types.
Without a birth time, noon is used as an estimate and the response says so. Three pillars still give roughly 70% of the analysis: core temperament and element balance.
The five elements
Element | Korean | Traits | Learning style |
Wood | 목 / 木 | Creative, independent, growth-oriented | Self-paced, autonomous |
Fire | 화 / 火 | Passionate, expressive, warm | Short bursts, active, social |
Earth | 토 / 土 | Stable, nurturing, reliable | Routine, familiar environment |
Metal | 금 / 金 | Precise, principled, focused | Structured, step-by-step |
Water | 수 / 水 | Intuitive, sensitive, adaptable | Quiet, flexible timing |
Scope
This server describes innate temperament tendencies. It does not provide medical, psychiatric, or educational diagnosis, and does not predict future events.
Development
git clone https://github.com/ers123/somyung-saju-mcp.git
cd somyung-saju-mcp
npm install
npm run dev # run with tsx (hot reload)
npm run build # compile TypeScript
npm start # run the compiled serverPublishing to Smithery
Smithery's web form takes a remote HTTP endpoint. This is a stdio server, so it is published as an MCPB bundle instead:
node scripts/build-mcpb.mjs
npx @smithery/cli mcp publish ./somyung-saju.mcpb -n <namespace>/somyung-sajuThe build script exists because the two specs disagree: the MCPB manifest
schema rejects inputSchema inside tools, while Smithery's registry requires
it — publishing without it fails once per tool, and publishing with tools
removed fails with "No values to set". So the script packs a spec-compliant
manifest and then patches the tool schemas into the archive, reading them from
the running server so they cannot drift.
The bundle carries production node_modules, since the host runs it standalone
rather than resolving dependencies itself.
Releasing
Publishing runs on GitHub Actions via npm trusted publishing (OIDC) — no token is stored anywhere and no 2FA prompt is involved.
npm version patch # bumps package.json and creates the vX.Y.Z tag
git push --follow-tagsThe workflow refuses to publish if the tag disagrees with package.json, and
runs a stdio smoke test against the built server before publishing.
Related
Full 8-section premium reports, in ten languages, are at somyung.cc — including a free preview.
License
MIT — see LICENSE.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ers123/somyung-saju-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server