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