npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

saju-mcp

v0.1.0

Published

MCP server wrapping the Saju API (Korean Four Pillars / Bazi) — calculate, interpret, compatibility, daily fortune in 10 languages.

Readme

Saju MCP Server

An MCP (Model Context Protocol) server that wraps the Saju API — Korean Four Pillars of Destiny (사주팔자 / Bazi) — so MCP-capable clients (Claude Desktop, Cursor, and other MCP hosts) can compute and interpret Saju directly in a conversation.

Backed by the live API at https://saju-api.pages.dev (10 languages: ko, en, ja, zh, es, pt-br, vi, id, hi, th).

Tools

| Tool | Upstream endpoint | What it does | |------|-------------------|--------------| | saju_calculate | POST /api/v1/calculate | Four Pillars (stem+branch+hanja), five-element distribution, Day Master, zodiac, from a solar birthdate. | | saju_interpret | POST /api/v1/interpret | Full reading: Ten Gods (십신), hidden stems, Yongshin (용신), Daeun (대운), localized summaries. | | saju_compatibility | POST /api/v1/compatibility | Two-person 궁합 score (0–100) with breakdown (element balance, Day Master relation, branch harmony/clash). | | saju_daily | GET /api/v1/daily | Daily fortune snapshot (score + advice) for a Day Master and date. |

Prerequisites

  • Node.js 18+ (uses the built-in global fetch).
  • A Saju API key. The free tier is 100 requests/day, no credit card.

Get a free API key

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

The response contains an api_key of the form sajuapi_free_.... Keep it secret — it is passed to the server via the SAJU_API_KEY environment variable, never hardcoded.

Install & build

npm install
npm run build      # compiles src/index.ts -> dist/index.js

Quick local check (lists the 4 tools, then exits):

SAJU_API_KEY="sajuapi_free_xxx" npm start

Register in Claude Desktop

Edit your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add (use the absolute path to the built dist/index.js):

{
  "mcpServers": {
    "saju": {
      "command": "node",
      "args": ["D:\\kunstudio-apps\\saju-mcp\\dist\\index.js"],
      "env": {
        "SAJU_API_KEY": "sajuapi_free_your_key_here"
      }
    }
  }
}

Restart Claude Desktop. The four saju_* tools appear in the tools menu.

Other MCP hosts (Cursor, Windsurf, custom clients) use the same shape: command: "node", args: ["<abs path>/dist/index.js"], and a SAJU_API_KEY env var.

Environment variables

| Variable | Required | Default | Notes | |----------|----------|---------|-------| | SAJU_API_KEY | yes (for real calls) | (empty) | Your sajuapi_* key, sent as the X-API-Key header. Without it, every call returns 401 invalid_api_key. | | SAJU_API_BASE | no | https://saju-api.pages.dev | Override the upstream base URL (e.g. for a staging deploy). |

Example tool inputs

saju_calculate / saju_interpret:

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

(hour: -1 if the birth hour is unknown.)

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 (Day Master from a prior calculate/interpret call):

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

License

Proprietary — KunStudio. Wraps the Saju API; subject to that API's terms.