Skip to main content
Glama
reallygood83

sbinfo

by reallygood83
README.md
# sbinfo — School Budget Intelligence

대한민국 **학교알리미** 공시 데이터를 기반으로  
**학교 예산·단위사업·교육운영 특색(HWP)** 을 CLI / MCP / AI 에이전트에서 조회하는 오픈소스 도구입니다.

- OpenAPI: 학교 검색, 예·결산(정책사업 8분류), 특색 플래그, 방과후·돌봄 센서  
- Web gongsi: **단위사업** (교무업무 운영 등)  
- [kordoc](https://github.com/chrisryugj/kordoc): 특색사업 **HWP → Markdown**  
- MCP tools + **`/sbinfo`** 스킬 (Grok / Claude 등)

> 공공 데이터 출처 표기(KOGL)를 지켜 주세요.  
> 예산 ≠ 실시간 잔액. 학교일반운영은 시설유지 비중이 클 수 있습니다.

## 빠른 시작

```bash
git clone https://github.com/reallygood83/sbinfo.git
cd sbinfo
bash scripts/setup.sh
# .env 에 학교알리미 OpenAPI 키 입력
# https://www.schoolinfo.go.kr → OpenAPI → 인증키
```

### CLI (자유 검색 — 학교 하드코딩 없음)

```bash
PYTHONPATH=src .venv/bin/python scripts/layered_search.py \
  --sido 11 --sgg 11440 --level 02 --year 2025 --limit 3

# 학교명 키워드
PYTHONPATH=src .venv/bin/python scripts/layered_search.py \
  --sido 11 --sgg 11680 --keyword 역삼 --limit 5
```

| 인자 | 예 | 설명 |
|------|-----|------|
| `--sido` | `11` | 시도 (서울=11, 경기=41, 부산=26…) |
| `--sgg` | `11440` | 시군구 5자리 |
| `--level` | `02` | 02초 03중 04고 |
| `--year` | `2025` | 공시 연도 |
| `--keyword` | `공덕` | 학교명 부분 일치 |

### MCP

```bash
./run_mcp.sh
```

| Tool | 설명 |
|------|------|
| `search_schools_tool` | 시군구+키워드 검색 |
| `get_school_deep` | L1~L3 전체 (예산+단위+특색) |
| `get_school_special_plan` | 특색 HWP → kordoc MD |
| `get_school_budget_detail` | 정책사업 + 단위사업 |
| `analyze_area` | 지역 비교 인사이트 |

#### Grok 등록 (`~/.grok/config.toml`)

```toml
[mcp_servers.sbinfo]
command = "/ABS/PATH/TO/sbinfo/run_mcp.sh"
args = []
enabled = true
startup_timeout_sec = 25
tool_timeout_sec = 180
description = "sbinfo — 학교알리미 예산·특색 인텔"
```

Grok 재시작 후 MCP 도구 사용.

### `/sbinfo` 스킬

```bash
# 사용자 스킬 설치
mkdir -p ~/.grok/skills/sbinfo
cp -R skills/sbinfo/SKILL.md ~/.grok/skills/sbinfo/
```

이후 채팅에서:

```
/sbinfo 서울 마포 초등 예산·특색 비교 3곳
/sbinfo --sido 11 --sgg 11440 --keyword 공덕 --year 2025
```

## 레이어

| Layer | 내용 |
|-------|------|
| L1 | 학교 마스터, 학생수, 특색 API 플래그(67) |
| L2 | 예·결산 정책사업 8 + 방과후·돌봄(59) |
| L3 | 웹 단위사업 + 특색 HWP (kordoc) |

## 디렉터리

```
src/sbi/           # Python 코어 + MCP
scripts/           # setup, layered_search
skills/sbinfo/     # /sbinfo 스킬
docs/              # 기획·설정 문서
run_mcp.sh
```

## 요구 사항

- Node.js 18+ (kordoc)
- Python ≥ 3.10 (권장 3.12)
- 학교알리미 OpenAPI 키

## 라이선스

MIT — 데이터 이용 시 **학교알리미 / 공공데이터 출처 표기**는 별도로 준수하세요.

## 관련

- [학교알리미 OpenAPI](https://www.schoolinfo.go.kr/ng/go/pnnggo_a01_m0.do)
- [kordoc](https://github.com/chrisryugj/kordoc) — HWP 파싱