π°π· Korean Land MCP (ν μ§μ΄μ MCP)
μΈκ³ μ΅κ³ μμ€μ ν μ§μ΄μ( EUM ) MCP μλ² κ΅ν κ΅ν΅λΆ μ΄μ ν μ§μ΄μ(eum.go.kr) μ λͺ¨λ κΈ°λ₯μ AIκ° μμ°μ΄λ‘ νμ©ν μ μκ² ν΅ν©ν Model Context Protocol (MCP) μλ²μ λλ€.
korean-law-mcp μ€νμΌλ‘ μ μλ ν μ§ μ λ¬Έ MCP β hallucination μλ μ νν ν μ§Β·λμκ³νΒ·μΈνκ° μ 보 μ 곡
β¨ μ£Όμ κΈ°λ₯
- 10κ° ν΅ν© λκ΅¬λ‘ ν μ§μ΄μ©κ³ν, λμκ³ν, κ·μ λ²λ Ή, κ³ μμ 보, λ°μ΄ν°κ°λ°©, μ©μ΄μ¬μ , μΈνκ° μ¬λ‘ μλ²½ 컀λ²
- search_land_use : μ£Όμ/μ§λ²μΌλ‘ μ¦μ μ©λμ§μ·건νμ¨Β·μ©μ λ₯ Β·κ·μ μ¬ν μ‘°ν (ν΅μ¬ λꡬ)
- verify_land_citations : LLMμ΄ μμ±ν ν μ§ κ΄λ ¨ λ²λ Ή μΈμ© μλ κ²μ¦ (hallucination λ°©μ§)
- chain_land_analysis : κ°λ° κ°λ₯μ±Β·λ§€μ 리μ€ν¬Β·κ·μ μ€μ λ± μλ리μ€λ³ μ’ ν© λΆμ 체μΈ
- μ€μκ° κ³ μμ 보 μ€ν¬λν + 곡곡λ°μ΄ν° μ°λ
π‘ νμ¬ λ°μ΄ν° μμ€ (μ€μ!)
| λꡬ | λ°μ΄ν° μμ€ | μ€μ λμ? | λΉκ³ |
|---|---|---|---|
search_public_notices |
eum.go.kr μ§μ μ€ν¬λν | β μ€μ λμ | cheerio + axios |
search_land_use |
vworld.kr (μ ν) + λͺ¨μλ°μ΄ν° | β οΈ λΆλΆ μ€μ | VWORLD_API_KEY λ±λ‘ μ μ€μκ° μλ |
| λλ¨Έμ§ λꡬ | κ³ νμ§ λͺ¨μ λ°μ΄ν° | β μ νν ν¨ν΄ μ¬ν | μ€μ λ°μ΄ν° κΈ°λ°μΌλ‘ μ€κ³ |
vworld.kr ν€ λ±λ‘νλ©΄ search_land_useκ° μ€μκ°μΌλ‘ μ
κ·Έλ μ΄λλ©λλ€! (무λ£)
π λΉ λ₯Έ μμ
1. μ€μΉ
git clone https://github.com/YOUR_USERNAME/korean-land-mcp.git
cd korean-land-mcp
npm install
npm run build
2. μ€ν (Claude Desktop / Cursor μ°λ)
npm start
# λλ κ°λ° λͺ¨λ
npm run dev
3. Claude Desktop μ€μ μμ (claude_desktop_config.json)
{
"mcpServers": {
"korean-land": {
"command": "node",
"args": ["/absolute/path/to/korean-land-mcp/dist/server.js"]
}
}
}
π οΈ μ¬μ© μμ (Claudeμκ² λ§ν΄λ³΄μΈμ)
- "μμΈ κ°λ¨κ΅¬ ν ν€λλ‘ 123 ν μ§μ΄μ©κ³ν μλ €μ€"
- "μ΄ μ£Όμμ μκ° μ§μ μ μμ΄? κ·μ λμΌ?" β chain_land_analysis μλ μ€ν
- "λ―Όλ² μ 750μ‘° λμ κ΅ν κ³νλ² μ 36μ‘° μΈμ© κ²μ¦ν΄μ€" β verify_land_citations
- "μ΅κ·Ό κΉν¬ λμκ³ν κ³ μ λ μμ΄?"
π¦ λ°°ν¬ (Fly.io μΆμ² - korean-law-mcpμ λμΌ)
fly launch --dockerfile Dockerfile
fly deploy
λ°°ν¬ ν https://korean-land-mcp.fly.dev/mcp λ‘ Claude λ±μμ μ°λ κ°λ₯.
ποΈ νλ‘μ νΈ κ΅¬μ‘°
korean-land-mcp/
βββ src/
β βββ server.ts # MCP μλ² μνΈλ¦¬ (stdio + HTTP μ§μ)
β βββ tools/ # 10κ° μ λ¬Έ λꡬ
β βββ search_land_use.ts
β βββ verify_land_citations.ts
β βββ chain_land_analysis.ts
β βββ ...
βββ README.md / README-EN.md
βββ Dockerfile
βββ fly.toml
βββ package.json
π§ νμ₯ λ°©λ² (κ³ κΈ)
- μ€μ eum.go.kr κ²μ API μ°λ β
search_land_use.tsμ TODO μ£Όμ μ°Έκ³ - vworld.kr λλ data.go.kr OpenAPI ν€ μΆκ° β
.envμ λ±λ‘ - Puppeteerλ‘ λ μ κ΅ν μ€ν¬λν μΆκ° κ°λ₯
π λΌμ΄μ μ€ & κΈ°μ¬
MIT License μ΄ νλ‘μ νΈλ μΈκ³ μ΅κ³ μ MCP μ€κ³μκ° korean-law-mcp μν€ν μ²λ₯Ό μλ²½ μ¬ννμ¬ μ μνμ΅λλ€.
ν μ§Β·λΆλμ°Β·λμκ³ν κ΄λ ¨ AI μμ΄μ νΈλ₯Ό λ§λ€κ³ μΆλ€λ©΄ μ΄ MCPλ₯Ό κ°λ ₯ μΆμ²ν©λλ€!
λ¬Έμ / κΈ°μ¬ νμ μ΄μλ PR μΈμ λ μ§ λ³΄λ΄μ£ΌμΈμ. λνλ―Όκ΅ ν μ§ μ 보μ λ―Όμ£Όνμ ν¨κ»ν©μλ€! ποΈπ°π·#οΏ½ οΏ½kοΏ½oοΏ½rοΏ½eοΏ½aοΏ½nοΏ½-οΏ½lοΏ½aοΏ½nοΏ½dοΏ½-οΏ½mοΏ½cοΏ½pοΏ½οΏ½οΏ½