Skip to main content
Glama
molpass

mcp-ziwei

by molpass
README.md
# mcp-ziwei

생년월일·출생시각·성별을 받아 **자미두수(紫微斗数) 명반**을 계산해 반환하는 MCP 서버.
12궁 + 주성/보좌성 + 사화(四化) 텍스트와 **12궁 명반 PNG**를 돌려준다.

> 구조·네이밍·PNG·설치 규약은 [`STANDARD.md`](STANDARD.md)를 따른다. `mcp-qr` skeleton 복제본.

---

## 계산 / 렌더

- **계산**: [`iztro`](https://github.com/SylarLong/iztro) — 경량 자미두수 성반 생성 라이브러리(JS). 한국어 로케일 `ko-KR` 지원.
- **렌더**: [`@napi-rs/canvas`](https://github.com/Brooooooklyn/canvas)(prebuilt) — 12궁 4×4 그리드 직접 렌더.
- 결정론적: 같은 입력 → 같은 명반.

---

## 도구

### `get_ziwei`

| 파라미터 | 타입 | 필수 | 기본 | 설명 |
|---|---|---|---|---|
| `birthDate` | string `YYYY-MM-DD` | ✅ | — | 생년월일 |
| `birthTime` | string `HH:MM` | ✅ | — | 출생시각 → 時辰 인덱스로 변환 |
| `gender` | `male` \| `female` | ✅ | — | 성별 |
| `calendarType` | `solar` \| `lunar` | | `solar` | 양/음력 |
| `lang` | string | | `ko-KR` | 로케일 |

**時辰 변환** (`HH:MM` → timeIndex 0~12): iztro `util.timeToIndex` 사용.
子시는 早子(00:00~00:59 → 0)·晚子(23:00~23:59 → 12)로 분리한다.

**출력 (둘 다 반환)**:
1. 구조화 텍스트 — 12궁(천간지지·주성·보좌성·명궁★/신궁☆) + 명주/신주/오행국 + 사화(록/권/과/기)
2. 명반 PNG (1080×1080, 12궁 4×4 그리드, 중앙 출생정보)

예제 출력: [`examples/ziwei_example.png`](examples/ziwei_example.png)
(양력 2000-08-16 03:00 寅시 · 여성).

---

## 설치

```bash
git clone https://github.com/molpass/mcp-ziwei.git
cd mcp-ziwei
npm install && npm run build
```

예제 명반을 직접 생성해 보려면:

```bash
npm run example   # examples/ziwei_example.png 재생성
```

> **폰트**: 한글·한자 라벨을 위해 한글 가능 폰트가 필요하다.
> Windows는 Malgun Gothic 기본 탑재라 추가 설치 불필요. Linux는 Nanum/Noto CJK 권장.

---

## MCP 등록 (서버명 `ziwei`)

```json
{
  "mcpServers": {
    "ziwei": {
      "command": "node",
      "args": ["/abs/path/mcp-ziwei/dist/index.js"]
    }
  }
}
```

> `/abs/path`는 클론한 실제 절대경로로 바꾼다.
> Windows 예: `"args": ["C:/Users/<you>/mcp-ziwei/dist/index.js"]`

---

## 스킬

페어링 스킬: [`skill/ziwei.skill.md`](skill/ziwei.skill.md).

## About / 제작

**Hermes Agent용 MCP** — molpass의 바이브 코딩(vibe coding) 프로젝트.

- 아이디어·방향: **molpass (이정훈)** · https://zeolinex.com
- 기획: **Claude (Chat)**
- 개발: **Claude Code**

자가 호스팅 [Hermes Agent](https://github.com/NousResearch/hermes-agent)에 도구로 붙여 쓰는 MCP 서버입니다.

같은 모음:
- [mcp-saju](https://github.com/molpass/mcp-saju) — 사주명리 만세력
- [mcp-qr](https://github.com/molpass/mcp-qr) — QR 코드 생성
- [mcp-biorhythm](https://github.com/molpass/mcp-biorhythm) — 바이오리듬
- [mcp-astrology](https://github.com/molpass/mcp-astrology) — 서양 점성술 네이탈 차트
- [mcp-ziwei](https://github.com/molpass/mcp-ziwei) — 자미두수 명반
- [mcp-numerology](https://github.com/molpass/mcp-numerology) — 수비학
- [mcp-liuren](https://github.com/molpass/mcp-liuren) — 대육임
- [mcp-qimen](https://github.com/molpass/mcp-qimen) — 기문둔갑
- [mcp-taiyi](https://github.com/molpass/mcp-taiyi) — 태을신수
- [mcp-weather](https://github.com/molpass/mcp-weather) — 한국 날씨·미세먼지
- [mcp-newsfeed](https://github.com/molpass/mcp-newsfeed) — 한국 주요뉴스

## License

MIT

TDQS

A4.1/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no potential for confusion between tools. It is perfectly distinct.

Naming Consistency5/5

With a single tool, there is no naming inconsistency. The name 'get_ziwei' follows a clear verb_noun pattern in snake_case.

Tool Count4/5

One tool is slightly low but still reasonable for a highly focused server that performs a single computation. It does not feel overly thin.

Completeness5/5

The tool fully covers the domain of computing a Ziwei Doushu natal chart, returning both text and image. No obvious gaps for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues