Skip to main content
Glama
RosieOh

korea-benefits-mcp

by RosieOh
README.md
<div align="center">

# ๐ŸŽ korea-benefits-mcp

**"๋‚ด๊ฐ€ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ •๋ถ€ ์ง€์›๊ธˆ ์•Œ๋ ค์ค˜"๋ผ๊ณ  Claude์—๊ฒŒ ๋ฌผ์–ด๋ณด์„ธ์š”.**<br>
๋ณด์กฐ๊ธˆ24์— ๋“ฑ๋ก๋œ ์ค‘์•™๋ถ€์ฒ˜ยท์ง€์ž์ฒด ํ˜œํƒ **1๋งŒ์—ฌ ๊ฑด**์—์„œ ๋‚ด ์กฐ๊ฑด์— ๋งž๋Š” ๊ฒƒ์„ ์ฐพ์•„์ฃผ๋Š” MCP ์„œ๋ฒ„

[![CI](https://github.com/RosieOh/korea-benefits-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/RosieOh/korea-benefits-mcp/actions/workflows/ci.yml)
![Python](https://img.shields.io/badge/python-3.10%2B-blue)
![MCP](https://img.shields.io/badge/MCP-2.x-8A2BE2)
![License](https://img.shields.io/badge/license-MIT-green)

[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