korea-benefits-mcp
by RosieOh
README.md
<div align="center">
# ๐ korea-benefits-mcp
**"๋ด๊ฐ ๋ฐ์ ์ ์๋ ์ ๋ถ ์ง์๊ธ ์๋ ค์ค"๋ผ๊ณ Claude์๊ฒ ๋ฌผ์ด๋ณด์ธ์.**<br>
๋ณด์กฐ๊ธ24์ ๋ฑ๋ก๋ ์ค์๋ถ์ฒยท์ง์์ฒด ํํ **1๋ง์ฌ ๊ฑด**์์ ๋ด ์กฐ๊ฑด์ ๋ง๋ ๊ฒ์ ์ฐพ์์ฃผ๋ MCP ์๋ฒ
[](https://github.com/RosieOh/korea-benefits-mcp/actions/workflows/ci.yml)



[English](#english) ยท [๋น ๋ฅธ ์์](#-๋น ๋ฅธ-์์) ยท [๋๊ตฌ](#-๋๊ตฌ) ยท [์ด๋ป๊ฒ ํ์ ํ๋](#-์ด๋ป๊ฒ-ํ์ ํ๋)
<!-- TODO: "31์ด ์์ ์ฌ๋ ์ง์ฅ์ธ์ธ๋ฐ ์์ธ ์ง์ ๋ฐ์ ์ ์์ด?" โ ๋๋ฌป๊ธฐ โ ๊ฒฐ๊ณผ๊น์ง GIF๋ฅผ docs/demo.gif๋ก ๋ฃ๊ณ ์ฃผ์ ํด์
<img src="docs/demo.gif" alt="demo" width="720">
-->
</div>
---
## ์ด๋ฐ ๋ํ๊ฐ ๋ฉ๋๋ค
> **๋:** 31์ด์ด๊ณ ์์ ์ด์. ์์ธ ์ง์ ๋ฐ์ ์ ์๋ ๊ฑฐ ์์ด?
>
> **Claude:** ์์ธ ๊ด๋ จ ์ฌ์
9๊ฑด์ ์ฐพ์์ด์. ๋๋ถ๋ถ **์๋**๊ณผ **๋ฌด์ฃผํ ์ฌ๋ถ**์ ๋ฐ๋ผ ๊ฐ๋ ค์. ๊ฐ๊ตฌ ์๋์ด ๊ธฐ์ค์ค์์๋์ ๋ช % ์ ๋์ธ์ง, ๋ฌด์ฃผํ์ธ์ง ์๋ ค์ฃผ์๊ฒ ์ด์?
>
> **๋:** ๋ฌด์ฃผํ์ด๊ณ ์๋์ ์ค์์๋ 55% ์ ๋, ์ง์ฅ ๋ค๋
.
>
> **Claude:** ๊ทธ๋ผ **์ฒญ๋
์์ธ ์ง์**(๊ตญํ ๊ตํต๋ถ), **์ฃผํ๊ธ์ต๊ณต์ฌ ์์ธ์๊ธ๋ณด์ฆ**, **๋ฒํ๋ชฉ์ ์ธ์๊ธ๋์ถ** ๋์์ด์์. ์ฒญ๋
์์ธ ์ง์์ ์ ์ต๋ 20๋ง ์์ด๊ณ , ์ ์ฒญ์ ๋ณต์ง๋ก์์โฆ
- ๐ **1๋ง์ฌ ๊ฑด ์ ์ฒด์์ ์ฐพ๊ธฐ**: ์ค์๋ถ์ฒ ์ฌ์
๋ถํฐ "์์ธํน๋ณ์ ๋งํฌ๊ตฌ" ๊ฐ์ ๊ตฌ ๋จ์ ์ฌ์
๊น์ง, ์ฌ๋ ๊ณณ์ ๋ง๊ฒ ๊ฑฐ๋ฆ
๋๋ค.
- โ
**์ฝ๋๋ก ํ์ ํ๊ณ LLM์ ์ถ์ธกํ์ง ์์**: ๋ณด์กฐ๊ธ24๊ฐ ๊ตฌ์กฐํํด ๋ ์๊ฒฉ์กฐ๊ฑด(์ฐ๋ นยท์ฑ๋ณยท์ค์์๋ยท์์ ยท๊ฐ๊ตฌ ์ํฉ)์ผ๋ก ํ์ ํฉ๋๋ค.
- โ **๋ชจ๋ฅด๋ฉด ๋๋ฌป๊ธฐ**: ํ์ ์ ํ์ํ ์ ๋ณด๊ฐ ์์ผ๋ฉด "๊ฐ๋ฅ/๋ถ๊ฐ"๋ฅผ ์ง์ด๋ด์ง ์๊ณ , **๋ฌด์์ ๋ฌผ์ด๋ด์ผ ํ๋์ง** ๋๋ ค์ค๋๋ค.
- โฐ **๋ง๊ฐ ์๋ฐ ์๋ฆผ**: ์ ์ฒญ๊ธฐํ์์ ๋ ์ง๋ฅผ ์ฝ์ด ๊ณง ๋ง๊ฐ๋๋ ํํ์ ์๋ ค์ค๋๋ค.
- โก **๋น ๋ฆ**: ์ฒ์ ํ ๋ฒ ์ ์ฒด ๋ชฉ๋ก์ ์ฝ 5์ด ๋ง์ ๋ก์ปฌ์ ๋ฐ์ ๋๊ณ , ์ดํ ๊ฒ์์ ์ฆ์ ๋๋ฉ๋๋ค(ํ๋ฃจ 1ํ ์๋ ๊ฐฑ์ ).
## ๐ ๋น ๋ฅธ ์์
### 1. ์ธ์ฆํค ๋ฐ๊ธ (3๋ถ)
1. [๊ณต๊ณต๋ฐ์ดํฐํฌํธ](https://www.data.go.kr)์ ๊ฐ์
ํฉ๋๋ค.
2. [ํ์ ์์ ๋ถ_๋ํ๋ฏผ๊ตญ ๊ณต๊ณต์๋น์ค ์ ๋ณด](https://www.data.go.kr/data/15113968/openapi.do)์์ **ํ์ฉ์ ์ฒญ**์ ๋๋ฆ
๋๋ค. ์๋์น์ธ์ด๋ผ ๋ฐ๋ก ์ธ ์ ์์ต๋๋ค.
3. ๋ง์ดํ์ด์ง์์ ์ธ์ฆํค๋ฅผ ๋ณต์ฌํฉ๋๋ค. Encoding ํค์ Decoding ํค ์ค ์๋ฌด๊ฑฐ๋ ์จ๋ ๋ฉ๋๋ค.
### 2. Claude Desktop
`claude_desktop_config.json`์ ์ถ๊ฐํ์ธ์. (macOS `~/Library/Application Support/Claude/`, Windows `%APPDATA%\Claude\`)
```json
{
"mcpServers": {
"korea-benefits": {
"command": "uvx",
"args": ["--from", "git+https://github.com/RosieOh/korea-benefits-mcp", "korea-benefits-mcp"],
"env": { "DATA_GO_KR_SERVICE_KEY": "๋ฐ๊ธ๋ฐ์_์ธ์ฆํค" }
}
}
}
```
### Claude Code
```bash
claude mcp add korea-benefits -e DATA_GO_KR_SERVICE_KEY=๋ฐ๊ธ๋ฐ์ํค -- uvx --from git+https://github.com/RosieOh/korea-benefits-mcp korea-benefits-mcp
```
## ๐งฐ ๋๊ตฌ
| ๋๊ตฌ | ์ค๋ช
|
|---|---|
| `find_benefits` | โญ ๋์ดยท์ฑ๋ณยท๊ฑฐ์ฃผ์งยท์๋ยท์ํฉ์ผ๋ก ๋ฐ์ ์ ์๋ ํํ ์ฐพ๊ธฐ. ๊ฒฐ๊ณผ๋ฅผ **๊ฐ๋ฅ / ์ ๋ณด ๋ถ์กฑ**์ผ๋ก ๋๋๊ณ **๋๋ฌผ์ ์ง๋ฌธ**๋ ์ค๋๋ค |
| `check_eligibility` | ํน์ ํํ ํ๋์ ์๊ฒฉ ํ์ ๊ณผ **๋ถ๊ฐ ์ฌ์ ** |
| `get_benefit_detail` | ์ ์ ๊ธฐ์ค ์๋ฌธ, ์ง์๋ด์ฉ, ์ ์ฒญ๋ฐฉ๋ฒ, ๊ตฌ๋น์๋ฅ, ๋ฌธ์์ฒ, ์จ๋ผ์ธ ์ ์ฒญ ๋งํฌ |
| `search_benefits` | ํค์๋ ๊ฒ์(์๊ฒฉ ํ์ ์์ด). ์: ์ฐํ์กฐ๋ฆฌ, ์ ๊ธฐ์ฐจ, ์ฒญ๋
์ฃผ๊ฑฐ |
| `upcoming_deadlines` | N์ผ ์์ ์ ์ฒญ ๋ง๊ฐ๋๋ ํํ |
| `list_profile_options` | ์
๋ ฅํ ์ ์๋ ์ํฉ ๋ชฉ๋ก(์ง์ฅ์ธ, ๊ตฌ์ง์, ์์ฐ๋ถ, 1์ธ๊ฐ๊ตฌ, ๋ฌด์ฃผํโฆ) |
| `catalog_status` / `refresh_catalog` | ๋ก์ปฌ ์นดํ๋ก๊ทธ ์ํ ํ์ธ / ์ฆ์ ๊ฐฑ์ |
**ํ๋กฌํํธ:** `benefit_checkup`: ์งง์ ์ธํฐ๋ทฐ๋ก ํํ์ ์ ๊ฒํ๊ณ "๋ฐ๋ก ์ ์ฒญ ๊ฐ๋ฅ / ํ์ธ ํ์ / ๋ง๊ฐ ์๋ฐ"์ผ๋ก ์ ๋ฆฌํฉ๋๋ค.
## ๐ง ์ด๋ป๊ฒ ํ์ ํ๋
๋ณด์กฐ๊ธ24 `supportConditions`๋ ์๋น์ค๋ง๋ค 50๊ฐ ์กฐ๊ฑด ์ฝ๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ํ์ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
| ๊ทธ๋ฃน | ์์ ์ฝ๋ | ํ์ ๊ท์น |
|---|---|---|
| ์ฑ๋ณ | JA0101 ๋จ์ฑ, JA0102 ์ฌ์ฑ | ํ์ชฝ๋ง ์ผ์ ธ ์์ ๋๋ง ์ ํ |
| ์ฐ๋ น | JA0110 ~ JA0111 | 0์ ํํ ์์, 100 ์ด์(์์ฒ ๋ฐ์ดํฐ์ 120ยท200)์ ์ํ ์์ |
| ์ค์์๋ | JA0201(0~50%) โฆ JA0205(200% ์ด๊ณผ) | ์ฌ์ฉ์ %๊ฐ ์ํ ๊ตฌ๊ฐ์ด ์ผ์ ธ ์์ด์ผ ํจ |
| ์์ ยท์ง์
| ์์ฐ๋ถ, ๋ํ์, ๊ตฌ์ง์, ์ฅ์ ์ธ โฆ | **๊ทธ๋ฃน ์์ OR**, "ํด๋น์ฌํญ์์"์ด ์ผ์ ธ ์์ผ๋ฉด ๋๊ตฌ๋ |
| ๊ฐ๊ตฌ | ํ๋ถ๋ชจ, ๋ค์๋
, 1์ธ๊ฐ๊ตฌ, ๋ฌด์ฃผํ โฆ | ์์ ๊ฐ์ |
| ์์๊ณต์ธยท๋ฒ์ธ | JA11xx, JA2xxx | ๊ฐ์ธ์ผ๋ก ์ฐพ์ ๋ ์ ์ธ |
๊ทธ๋ฃน ์ฌ์ด๋ AND์
๋๋ค. ๊ฒฐ๊ณผ๋ ์ธ ๊ฐ์ง๋ก ๋์ต๋๋ค.
- **eligible**: ์ฝ๋ํ๋ ์กฐ๊ฑด์ ๋ชจ๋ ์ถฉ์กฑ
- **needs_info**: ์ ๋ณด๊ฐ ๋ถ์กฑํจ. ๋ฌด์์ด ํ์ํ์ง ํจ๊ป ์ค๋๋ค
- **ineligible**: ์กฐ๊ฑด ๋ฏธ์ถฉ์กฑ. ์ฌ์ ๋ฅผ ํจ๊ป ์ค๋๋ค
> โ ๏ธ ์ฝ๋ํ๋ ์กฐ๊ฑด๋ง ๋ด
๋๋ค. ์ฌ์ฐ ๊ธฐ์ค, ๊ฑฐ์ฃผ ๊ธฐ๊ฐ ๊ฐ์ ์ธ๋ถ ์๊ฑด์ `get_benefit_detail`์ **์ ์ ๊ธฐ์ค ์๋ฌธ**์ผ๋ก ํ์ธํ์ธ์. ์ต์ข
์๊ฒฉ์ ์๊ด๊ธฐ๊ด์ด ํ๋จํฉ๋๋ค.
### ์ค์ ๋ฐ์ดํฐ์์ ๋ถ๋ชํ ๊ฒ๋ค
- **์๊ฒฉ์กฐ๊ฑด์ ์กฐ๊ฑด ๊ฒ์์ด ์ ๋ฉ๋๋ค.** ์๋น์คID ๋จ๊ฑด ์กฐํ๋ง ์ง์ํด์ ์ ๋์ ํ์ด์ง ๋จ์๋ก ๋ฐ์ ๋ก์ปฌ(SQLite)์์ ๋งค์นญํฉ๋๋ค. 1๋ง ๊ฑด ๋๊ธฐํ๊ฐ ์ฝ 5์ด, ํธ์ถ 20์ฌ ํ๋ก ๋๋ฉ๋๋ค.
- **์ง์ญ ์ฝ๋๊ฐ ์์ต๋๋ค.** ์๊ด๊ธฐ๊ด๋ช
์ผ๋ก ์ง์ญ์ ํ๋ณํฉ๋๋ค. `์์ธํน๋ณ์ ๊ฐ๋จ๊ตฌ`๋ ์ฝ์ง๋ง `๋งํฌ๊ตฌ์์ค๊ด๋ฆฌ๊ณต๋จ`, `๊ตฌ๋ฆฌ๋์๊ณต์ฌ`, `(์ฌ)๋จ๋๋ฌธํ์ฌ๋จ`์ฒ๋ผ ์๋๊ฐ ๋น ์ง ๊ธฐ๊ด์ด ๋ง์ต๋๋ค. ๊ทธ๋์ ๋๊ธฐํํ ์๊ตฐ๊ตฌ 227๊ณณ์ผ๋ก ์์ธ์ ๋ง๋ค์ด ์ฐพ์ต๋๋ค. `์ค๊ตฌ`, `๊ฐ์๊ตฌ`์ฒ๋ผ ์ฌ๋ฌ ์๋์ ์๋ ์ด๋ฆ์ ์ต์ง๋ก ํ๋ณํ์ง ์์ต๋๋ค.
- **ํ์ ๊ตฌ์ญ์ด ๋ฐ๋๋๋ค.** 2026๋
๋ถํฐ ๊ด์ฃผ๊ด์ญ์์ ์ ๋ผ๋จ๋๊ฐ `์ ๋จ๊ด์ฃผํตํฉํน๋ณ์`๋ก ์ต๋๋ค. "๊ด์ฃผ", "์ ๋จ"์ผ๋ก ์
๋ ฅํด๋ ์ฐ๊ฒฐ๋ฉ๋๋ค.
- **์ ์ฒญ๊ธฐํ์ ์์ ํ
์คํธ์
๋๋ค.** "์์์ ์ฒญ", "2026. 3. 2. ~ 2026. 12. 31.", "์ ์ฒญ๋ถํ์", "์์ฐ ์์ง ์๊น์ง" ๋ฑ์ด ์์ฌ ์์ต๋๋ค. ํ์คํ ์ฝํ๋ ๋ ์ง๋ง ์ฐ๊ณ ์ถ์ธกํ์ง ์์ต๋๋ค.
## ๐ ๊ฐ์ธ์ ๋ณด
- **์
๋ ฅํ ์ ๋ณด๋ ๋ด PC ๋ฐ์ผ๋ก ๋๊ฐ์ง ์์ต๋๋ค.** ๋์ด, ์๋, ์ฅ์ ยท์์ ์ฌ๋ถ ๊ฐ์ ์กฐ๊ฑด์ ๋ก์ปฌ์์๋ง ๋งค์นญ์ ์๋๋ค. ๊ณต๊ณต๋ฐ์ดํฐํฌํธ์๋ **์ ์ฒด ๋ชฉ๋ก์ ํ์ด์ง ๋ฒํธ์ ์๋น์คID๋ง** ์์ฒญํฉ๋๋ค.
- **๋ก์ปฌ์ ์ ์ฅ๋๋ ๊ฒ์ ๊ณต๊ฐ ํํ ๋ชฉ๋ก๋ฟ์
๋๋ค.** ์ฌ์ฉ์ ํ๋กํ์ ์ ์ฅํ์ง ์์ต๋๋ค. ์บ์ ์์น๋ ์๋ [๊ฐ๋ฐ](#-๊ฐ๋ฐ) ํญ๋ชฉ์ ์ฐธ๊ณ ํ์ธ์.
- **๋ค๋ง ๋ํ ๋ด์ฉ์ ์ฌ์ฉ ์ค์ธ AI ์๋น์ค๋ก ์ ๋ฌ๋ฉ๋๋ค.** Claude ๋ฑ๊ณผ ๋ํํ๋ฉฐ ์
๋ ฅํ ๋ด์ฉ์ ๊ทธ ์๋น์ค์ ๊ฐ์ธ์ ๋ณด ์ ์ฑ
์ ๋ฐ๋ฆ
๋๋ค. ๊ฑด๊ฐยท์ฅ์ ๊ฐ์ ๋ฏผ๊ฐํ ์ ๋ณด๋ ํ์ํ ๋งํผ๋ง ๋งํ์ธ์. ์: "์ฅ์ ๊ฐ ์๋ค" ๋์ "์ฅ์ ์ธ ๋์ ํํ๋ ๋ณด์ฌ์ค".
## ๐ ๊ฐ๋ฐ
```bash
git clone https://github.com/RosieOh/korea-benefits-mcp && cd korea-benefits-mcp
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
pytest # ํค ์์ด ์ ๋ถ ํต๊ณผ (respx ๋ชฉํน)
```
์นดํ๋ก๊ทธ ์บ์ ์์น๋ ๊ธฐ๋ณธ๊ฐ์ด `%LOCALAPPDATA%\korea-benefits-mcp`(Windows)๋ `~/.cache/korea-benefits-mcp`์ด๊ณ , `KOREA_BENEFITS_CACHE_DIR`๋ก ๋ฐ๊ฟ ์ ์์ต๋๋ค.
## ๐บ ๋ก๋๋งต
- [ ] ์จํต์ฒญ๋
์ฒญ๋
์ ์ฑ
API ์ฐ๋(์ฒญ๋
์ ์ฑ
์ ์๋ยท์ง์ญ ์กฐ๊ฑด์ ๋ ์ธ๋ฐํ๊ฒ)
- [ ] ๋ณต์ง๋ก ์ง์์ฒด ๋ณต์ง์๋น์ค์ ์ค๋ณต ์ ๊ฑฐ
- [ ] ๊ธฐ์ค์ค์์๋ ๊ณ์ฐ ๋์ฐ๋ฏธ(๊ฐ๊ตฌ์ ์์ ์์๋์ผ๋ก % ์ถ์ )
- [ ] ๋ง๊ฐ ์ผ์ ์บ๋ฆฐ๋(ICS) ๋ด๋ณด๋ด๊ธฐ
- [ ] PyPI ๋ฐฐํฌ
## โ ๏ธ ๋ฉด์ฑ
๊ณต๊ณต๋ฐ์ดํฐํฌํธ์ ํ์ ์์ ๋ถ ใ๋ํ๋ฏผ๊ตญ ๊ณต๊ณต์๋น์ค ์ ๋ณดใ๋ฅผ ์ด์ฉํ **์ฐธ๊ณ ์ฉ** ๋๊ตฌ์
๋๋ค. ์ค์ ์๊ธ ์๊ฒฉ๊ณผ ๊ธ์ก์ ๊ฐ ์๊ด๊ธฐ๊ด์ ์ฌ์ฌ๋ก ๊ฒฐ์ ๋ฉ๋๋ค. ์ ์ฒญ ์ ์ ์ ๋ถ24ยท๋ณต์ง๋ก์ ๊ณต์ ์๋ด๋ฅผ ํ์ธํ์ธ์. ์ด ํ๋ก์ ํธ๋ ์ด๋ค ์ ๋ถ๊ธฐ๊ด๊ณผ๋ ์ ํด ๊ด๊ณ๊ฐ ์์ต๋๋ค.
---
<a id="english"></a>
## English
**korea-benefits-mcp** is an MCP server that finds Korean government benefits (central ministries and local governments, 10,000+ programs) a person is eligible for, using the official Gov24 public service catalog from data.go.kr.
- **Deterministic eligibility:** matches age, gender, median-income bracket, life stage and household status against Gov24's structured condition codes. Nothing is guessed by the LLM.
- **Asks instead of guessing:** when information is missing, returns `needs_info` plus the questions to ask the user.
- **Region-aware:** filters local programs down to city/district level, even for agencies whose names omit the province.
- **Deadlines:** parses free-text application periods and lists programs closing soon.
Requires a free [data.go.kr](https://www.data.go.kr/data/15113968/openapi.do) API key (auto-approved).
## License
MIT
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues