Skip to main content
Glama
README.mdโ€ข9.84 kB
# ๐Ÿ›๏ธ ํ•œ๊ตญ ๋ฒ•๋ฅ /ํŒ๋ก€ ๊ฒ€์ƒ‰ MCP ์„œ๋ฒ„ **๊ตญ๊ฐ€๋ฒ•๋ น์ •๋ณด์„ผํ„ฐ Open API**๋ฅผ ํ™œ์šฉํ•œ ๊ณ ์„ฑ๋Šฅ MCP (Model Context Protocol) ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. AI ์—์ด์ „ํŠธ(Claude Desktop, Cursor ๋“ฑ)๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ•œ๊ตญ ๋ฒ•๋ น, ํŒ๋ก€, ํ–‰์ •๊ทœ์น™์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ## โœจ ์ฃผ์š” ๊ธฐ๋Šฅ ### ๐Ÿ” ๋ฒ•๋ น ๊ฒ€์ƒ‰ - **ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ๋ฒ•๋ น ๊ฒ€์ƒ‰**: ๋ฏผ๋ฒ•, ์ƒ๋ฒ•, ๊ทผ๋กœ๊ธฐ์ค€๋ฒ• ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฒ•๋ น ๊ฒ€์ƒ‰ - **๋ฒ•๋ น ์ƒ์„ธ ์กฐํšŒ**: ํŠน์ • ๋ฒ•๋ น์˜ ์ „๋ฌธ(์กฐ๋ฌธ) ๋ฐ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ - **๋ฒ•๋ น ๊ธฐ๋ณธ ์ •๋ณด**: ์†Œ๊ด€๋ถ€์ฒ˜, ๊ณตํฌ์ผ์ž, ์‹œํ–‰์ผ์ž, ๊ฐœ์ • ์ •๋ณด ํฌํ•จ ### โš–๏ธ ํŒ๋ก€ ๊ฒ€์ƒ‰ - **ํŒ๋ก€ ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰**: ์†ํ•ด๋ฐฐ์ƒ, ๊ณ„์•ฝ, ๋ถ€๋‹นํ•ด๊ณ  ๋“ฑ ํŒ๋ก€ ๊ฒ€์ƒ‰ - **ํŒ๋ก€ ์ƒ์„ธ ์กฐํšŒ**: ํŒ๊ฒฐ์š”์ง€, ํŒ์‹œ์‚ฌํ•ญ, ํŒ๋ก€ ์ „๋ฌธ ์กฐํšŒ - **๋ฒ•์› ํ•„ํ„ฐ๋ง**: ๋Œ€๋ฒ•์›, ํ—Œ๋ฒ•์žฌํŒ์†Œ ๋“ฑ ๋ฒ•์›๋ณ„ ํ•„ํ„ฐ๋ง ์ง€์› - **์ฐธ์กฐ์กฐ๋ฌธ/ํŒ๋ก€**: ๊ด€๋ จ ๋ฒ•๋ น ๋ฐ ์ฐธ์กฐ ํŒ๋ก€ ์ •๋ณด ์ œ๊ณต ### ๐Ÿ“‹ ํ–‰์ •๊ทœ์น™ ๊ฒ€์ƒ‰ - **ํ–‰์ •๊ทœ์น™ ๊ฒ€์ƒ‰**: ๊ฐ ๋ถ€์ฒ˜์˜ ํ–‰์ •๊ทœ์น™ ๊ฒ€์ƒ‰ - **์†Œ๊ด€๋ถ€์ฒ˜ ์ •๋ณด**: ์ œ์ •์ผ์ž, ์‹œํ–‰์ผ์ž ๋“ฑ ์ƒ์„ธ ์ •๋ณด ### ๐Ÿš€ ์„ฑ๋Šฅ ์ตœ์ ํ™” - **์ „๋žต์  ์บ์‹ฑ**: ๋ฒ•๋ น/ํŒ๋ก€ ๋ฐ์ดํ„ฐ๋ฅผ 24์‹œ๊ฐ„ ์บ์‹ฑํ•˜์—ฌ API ํ˜ธ์ถœ ์ตœ์†Œํ™” - **๋น ๋ฅธ ์‘๋‹ต ์†๋„**: ์บ์‹œ ๊ธฐ๋ฐ˜ ์ฆ‰์‹œ ์‘๋‹ต - **์•ˆ์ •์ ์ธ ์šด์˜**: ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฐ ๋กœ๊น… ์‹œ์Šคํ…œ ## ๐ŸŽฏ ํ™œ์šฉ ์‚ฌ๋ก€ ### ๋ฒ•๋ฅ  ์ „๋ฌธ๊ฐ€ - **๊ณ„์•ฝ์„œ ๊ฒ€ํ† **: AI๊ฐ€ ๊ณ„์•ฝ์„œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ๊ด€๋ จ ๋ฒ•๋ น ๋ฐ ํŒ๋ก€๋ฅผ ์ž๋™ ์ฐธ์กฐ - **๋ฒ•๋ฅ  ์ž๋ฌธ**: ํŠน์ • ์‚ฌ์•ˆ์— ๋Œ€ํ•œ ๊ด€๋ จ ๋ฒ•๋ น ๋ฐ ํŒ๋ก€๋ฅผ ์ฆ‰์‹œ ์กฐํšŒ - **ํŒ๋ก€ ์—ฐ๊ตฌ**: ์œ ์‚ฌ ํŒ๋ก€๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋น„๊ต ๋ถ„์„ ### ๊ธฐ์—… ๋ฒ•๋ฌดํŒ€ - **๊ธฐ์—… ์ปดํ”Œ๋ผ์ด์–ธ์Šค**: ์‚ฌ์—… ๊ด€๋ จ ๋ฒ•๋ น์„ ์‹ค์‹œ๊ฐ„ ์กฐํšŒ - **๋…ธ๋ฌด ๊ด€๋ฆฌ**: ๊ทผ๋กœ๊ธฐ์ค€๋ฒ• ๋“ฑ ๋…ธ๋™ ๊ด€๋ จ ๋ฒ•๋ น ๋ฐ ํŒ๋ก€ ๊ฒ€์ƒ‰ - **์†Œ์†ก ์ค€๋น„**: ๊ด€๋ จ ํŒ๋ก€ ๋ฐ ๋ฒ•๋ น ์ž๋™ ์ˆ˜์ง‘ ### ์Šคํƒ€ํŠธ์—…/๊ฐœ๋ฐœ์ž - **์„œ๋น„์Šค ๋ฒ•๋ฅ  ๊ฒ€ํ† **: ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ•, ์ „์ž์ƒ๊ฑฐ๋ž˜๋ฒ• ๋“ฑ ๊ด€๋ จ ๋ฒ•๋ น ํ™•์ธ - **์•ฝ๊ด€ ์ž‘์„ฑ**: ๊ด€๋ จ ๋ฒ•๋ น์„ ์ฐธ์กฐํ•˜์—ฌ ์•ฝ๊ด€ ์ž‘์„ฑ - **๋ฒ•๋ฅ  ๋ฆฌ์Šคํฌ ๋ถ„์„**: AI๊ฐ€ ์„œ๋น„์Šค ๊ธฐํš์„œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ๊ด€๋ จ ๋ฒ•๋ฅ  ๋ฆฌ์Šคํฌ ํŒŒ์•… ### ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž - **๋ฒ•๋ฅ  ์ƒ๋‹ด**: AI ์—์ด์ „ํŠธ๋ฅผ ํ†ตํ•œ ๊ธฐ๋ณธ์ ์ธ ๋ฒ•๋ฅ  ์ •๋ณด ์กฐํšŒ - **๊ถŒ๋ฆฌ ํ™•์ธ**: ์†Œ๋น„์ž ๊ถŒ๋ฆฌ, ์ž„์ฐจ๊ถŒ ๋“ฑ ๊ด€๋ จ ๋ฒ•๋ น ๋ฐ ํŒ๋ก€ ๊ฒ€์ƒ‰ - **๋ฏผ์› ์ค€๋น„**: ํ–‰์ •์‹ฌํŒ, ์†Œ์†ก ์ค€๋น„๋ฅผ ์œ„ํ•œ ๋ฒ•๋ฅ  ์ •๋ณด ์ˆ˜์ง‘ ## ๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ - **MCP Framework**: FastMCP - **Data Validation**: Pydantic - **HTTP Client**: Requests - **XML Parsing**: xml.etree.ElementTree - **Caching**: cachetools (24์‹œ๊ฐ„ TTL) - **Async Processing**: asyncio - **Environment**: Python-dotenv ## ๐Ÿ“ฆ ์„ค์น˜ ๋ฐ ์„ค์ • ### 1) ์˜์กด์„ฑ ์„ค์น˜ ```bash pip install -r requirements.txt ``` > ๐Ÿ’ก `uv`๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ: `uv sync` ### 2) API ํ‚ค ๋ฐœ๊ธ‰ ๊ตญ๊ฐ€๋ฒ•๋ น์ •๋ณด์„ผํ„ฐ Open API ํ‚ค๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค: 1. [๊ตญ๊ฐ€๋ฒ•๋ น์ •๋ณด์„ผํ„ฐ Open API ์‚ฌ์ดํŠธ](https://open.law.go.kr/) ๋ฐฉ๋ฌธ 2. ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ 3. **๊ณต๋™ํ™œ์šฉ ์„œ๋น„์Šค** > **Open API** ๋ฉ”๋‰ด์—์„œ API ์‹ ์ฒญ 4. ์Šน์ธ ํ›„ **์ธ์ฆํ‚ค(OC)** ๋ฐœ๊ธ‰๋ฐ›๊ธฐ > ๐Ÿ“Œ **์ฐธ๊ณ **: API ํ‚ค ๋ฐœ๊ธ‰์€ ๋ณดํ†ต ์ฆ‰์‹œ ์Šน์ธ๋˜๋ฉฐ, ๋ฌด๋ฃŒ๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ### 3) ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— `.env` ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  API ํ‚ค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค: ```bash cp env.law.example .env ``` `.env` ํŒŒ์ผ ๋‚ด์šฉ: ```env LAW_API_KEY=your_law_api_key_here LOG_LEVEL=INFO PORT=8096 ``` ### 4) ์„œ๋ฒ„ ์‹คํ–‰ ```bash python -m src.law_main ``` ๋˜๋Š” HTTP ์„œ๋ฒ„๋กœ ์‹คํ–‰: ```bash python src/law_main.py ``` ## ๐Ÿณ Docker ์‹คํ–‰ Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: ```bash # ์ด๋ฏธ์ง€ ๋นŒ๋“œ docker build -t korean-law-mcp:latest . # ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ docker run --rm \ -e LAW_API_KEY=your_law_api_key_here \ -p 8096:8096 \ korean-law-mcp:latest ``` ## ๐Ÿงฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ (Tools) ### 1. `health` - **์„ค๋ช…**: ์„œ๋น„์Šค ์ƒํƒœ ๋ฐ API ํ‚ค ์„ค์ • ํ™•์ธ - **ํŒŒ๋ผ๋ฏธํ„ฐ**: ์—†์Œ - **๋ฐ˜ํ™˜**: ์„œ๋น„์Šค ์ƒํƒœ ๊ฐ์ฒด ### 2. `search_law_tool` - **์„ค๋ช…**: ๋ฒ•๋ น์„ ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰ - **ํŒŒ๋ผ๋ฏธํ„ฐ**: - `query` (string, ํ•„์ˆ˜): ๊ฒ€์ƒ‰ํ•  ๋ฒ•๋ น ํ‚ค์›Œ๋“œ (์˜ˆ: '๋ฏผ๋ฒ•', '์ƒ๋ฒ•') - `page` (integer, ์„ ํƒ): ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ (๊ธฐ๋ณธ๊ฐ’: 1) - `page_size` (integer, ์„ ํƒ): ํŽ˜์ด์ง€๋‹น ๊ฒฐ๊ณผ ์ˆ˜ (๊ธฐ๋ณธ๊ฐ’: 10, ์ตœ๋Œ€: 50) - **๋ฐ˜ํ™˜**: ๊ฒ€์ƒ‰๋œ ๋ฒ•๋ น ๋ชฉ๋ก (๋ฒ•๋ น๋ช…, ์†Œ๊ด€๋ถ€์ฒ˜, ๊ณตํฌ์ผ์ž, ์‹œํ–‰์ผ์ž ๋“ฑ) **์˜ˆ์‹œ ์‘๋‹ต**: ```json { "total": 152, "page": 1, "page_size": 10, "laws": [ { "๋ฒ•๋ นID": "001122", "๋ฒ•๋ น๋ช…": "๋ฏผ๋ฒ•", "๋ฒ•๋ น๊ตฌ๋ถ„": "๋ฒ•๋ฅ ", "์†Œ๊ด€๋ถ€์ฒ˜": "๋ฒ•๋ฌด๋ถ€", "๊ณตํฌ์ผ์ž": "19580222", "์‹œํ–‰์ผ์ž": "19600101" } ] } ``` ### 3. `get_law_detail_tool` - **์„ค๋ช…**: ํŠน์ • ๋ฒ•๋ น์˜ ์ƒ์„ธ ์ •๋ณด ๋ฐ ์ „๋ฌธ(์กฐ๋ฌธ) ์กฐํšŒ - **ํŒŒ๋ผ๋ฏธํ„ฐ**: - `law_id` (string, ํ•„์ˆ˜): ๋ฒ•๋ น ID (๋ฒ•๋ น ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์—์„œ ์–ป์€ ๋ฒ•๋ นID) - **๋ฐ˜ํ™˜**: ๋ฒ•๋ น์˜ ์ƒ์„ธ ์ •๋ณด์™€ ๋ชจ๋“  ์กฐ๋ฌธ ๋‚ด์šฉ **์˜ˆ์‹œ ์‘๋‹ต**: ```json { "๋ฒ•๋ นID": "001122", "๋ฒ•๋ น๋ช…": "๋ฏผ๋ฒ•", "๋ฒ•๋ น๊ตฌ๋ถ„": "๋ฒ•๋ฅ ", "์†Œ๊ด€๋ถ€์ฒ˜": "๋ฒ•๋ฌด๋ถ€", "๊ณตํฌ์ผ์ž": "19580222", "์‹œํ–‰์ผ์ž": "19600101", "์กฐ๋ฌธ์ˆ˜": 1118, "์กฐ๋ฌธ": [ { "์กฐ๋ฌธ๋ฒˆํ˜ธ": "์ œ1์กฐ", "์กฐ๋ฌธ์ œ๋ชฉ": "๋ฒ•์›", "์กฐ๋ฌธ๋‚ด์šฉ": "๋ฏผ์‚ฌ์— ๊ด€ํ•˜์—ฌ ๋ฒ•๋ฅ ์— ๊ทœ์ •์ด ์—†์œผ๋ฉด..." } ] } ``` ### 4. `search_precedent_tool` - **์„ค๋ช…**: ํŒ๋ก€๋ฅผ ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰ - **ํŒŒ๋ผ๋ฏธํ„ฐ**: - `query` (string, ํ•„์ˆ˜): ๊ฒ€์ƒ‰ํ•  ํŒ๋ก€ ํ‚ค์›Œ๋“œ (์˜ˆ: '์†ํ•ด๋ฐฐ์ƒ', '๊ณ„์•ฝ') - `page` (integer, ์„ ํƒ): ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ (๊ธฐ๋ณธ๊ฐ’: 1) - `page_size` (integer, ์„ ํƒ): ํŽ˜์ด์ง€๋‹น ๊ฒฐ๊ณผ ์ˆ˜ (๊ธฐ๋ณธ๊ฐ’: 10, ์ตœ๋Œ€: 50) - `court` (string, ์„ ํƒ): ๋ฒ•์› ๊ตฌ๋ถ„ (์˜ˆ: '๋Œ€๋ฒ•์›', 'ํ—Œ๋ฒ•์žฌํŒ์†Œ') - **๋ฐ˜ํ™˜**: ๊ฒ€์ƒ‰๋œ ํŒ๋ก€ ๋ชฉ๋ก **์˜ˆ์‹œ ์‘๋‹ต**: ```json { "total": 2453, "page": 1, "page_size": 10, "precedents": [ { "ํŒ๋ก€์ผ๋ จ๋ฒˆํ˜ธ": "202012345", "์‚ฌ๊ฑด๋ช…": "์†ํ•ด๋ฐฐ์ƒ(๊ธฐ)", "์‚ฌ๊ฑด๋ฒˆํ˜ธ": "2020๋‹ค123456", "์„ ๊ณ ์ผ์ž": "20201015", "์„ ๊ณ ": "ํŒŒ๊ธฐํ™˜์†ก", "๋ฒ•์›๋ช…": "๋Œ€๋ฒ•์›", "์‚ฌ๊ฑด์ข…๋ฅ˜๋ช…": "๋ฏผ์‚ฌ", "ํŒ์‹œ์‚ฌํ•ญ": "...", "ํŒ๊ฒฐ์š”์ง€": "..." } ] } ``` ### 5. `get_precedent_detail_tool` - **์„ค๋ช…**: ํŠน์ • ํŒ๋ก€์˜ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ - **ํŒŒ๋ผ๋ฏธํ„ฐ**: - `precedent_id` (string, ํ•„์ˆ˜): ํŒ๋ก€ ์ผ๋ จ๋ฒˆํ˜ธ - **๋ฐ˜ํ™˜**: ํŒ๋ก€์˜ ์ƒ์„ธ ์ •๋ณด (ํŒ๊ฒฐ์š”์ง€, ์ฐธ์กฐ์กฐ๋ฌธ, ํŒ๋ก€ ์ „๋ฌธ ๋“ฑ) **์˜ˆ์‹œ ์‘๋‹ต**: ```json { "ํŒ๋ก€์ผ๋ จ๋ฒˆํ˜ธ": "202012345", "์‚ฌ๊ฑด๋ช…": "์†ํ•ด๋ฐฐ์ƒ(๊ธฐ)", "์‚ฌ๊ฑด๋ฒˆํ˜ธ": "2020๋‹ค123456", "์„ ๊ณ ์ผ์ž": "20201015", "์„ ๊ณ ": "ํŒŒ๊ธฐํ™˜์†ก", "๋ฒ•์›๋ช…": "๋Œ€๋ฒ•์›", "ํŒ์‹œ์‚ฌํ•ญ": "...", "ํŒ๊ฒฐ์š”์ง€": "...", "์ฐธ์กฐ์กฐ๋ฌธ": "๋ฏผ๋ฒ• ์ œ750์กฐ, ์ œ751์กฐ", "์ฐธ์กฐํŒ๋ก€": "๋Œ€๋ฒ•์› 2019๋‹ค234567...", "ํŒ๋ก€๋‚ด์šฉ": "ใ€์ „๋ฌธใ€‘..." } ``` ### 6. `search_administrative_rule_tool` - **์„ค๋ช…**: ํ–‰์ •๊ทœ์น™์„ ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰ - **ํŒŒ๋ผ๋ฏธํ„ฐ**: - `query` (string, ํ•„์ˆ˜): ๊ฒ€์ƒ‰ํ•  ํ–‰์ •๊ทœ์น™ ํ‚ค์›Œ๋“œ - `page` (integer, ์„ ํƒ): ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ (๊ธฐ๋ณธ๊ฐ’: 1) - `page_size` (integer, ์„ ํƒ): ํŽ˜์ด์ง€๋‹น ๊ฒฐ๊ณผ ์ˆ˜ (๊ธฐ๋ณธ๊ฐ’: 10, ์ตœ๋Œ€: 50) - **๋ฐ˜ํ™˜**: ๊ฒ€์ƒ‰๋œ ํ–‰์ •๊ทœ์น™ ๋ชฉ๋ก ## ๐Ÿ’ก ์‚ฌ์šฉ ์˜ˆ์‹œ ### Claude Desktop์—์„œ ์‚ฌ์šฉ 1. Claude Desktop ์„ค์ • ํŒŒ์ผ (`claude_desktop_config.json`) ์ˆ˜์ •: ```json { "mcpServers": { "korean-law": { "command": "python", "args": ["-m", "src.law_main"], "env": { "LAW_API_KEY": "your_api_key_here" } } } } ``` 2. Claude Desktop ์žฌ์‹œ์ž‘ 3. Claude์—๊ฒŒ ์งˆ๋ฌธ: - "๋ฏผ๋ฒ• ์ œ750์กฐ์— ๋Œ€ํ•ด ์•Œ๋ ค์ค˜" - "๋ถ€๋‹นํ•ด๊ณ  ๊ด€๋ จ ํŒ๋ก€ ์ฐพ์•„์ค˜" - "๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ• ๊ฒ€์ƒ‰ํ•ด์ค˜" ### Cursor์—์„œ ์‚ฌ์šฉ Cursor์˜ MCP ์„ค์ •์—์„œ ์œ„์™€ ๋™์ผํ•˜๊ฒŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ## ๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ```text korean-law-mcp/ โ”œโ”€โ”€ src/ โ”‚ โ”œโ”€โ”€ __init__.py โ”‚ โ”œโ”€โ”€ law_main.py # MCP ์„œ๋ฒ„ ๋ฉ”์ธ ํŒŒ์ผ โ”‚ โ””โ”€โ”€ law_tools.py # ๋ฒ•๋ฅ  API ํ˜ธ์ถœ ๋„๊ตฌ โ”œโ”€โ”€ .env # ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŒŒ์ผ (API ํ‚ค ๋“ฑ) โ”œโ”€โ”€ env.law.example # ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์˜ˆ์‹œ ํŒŒ์ผ โ”œโ”€โ”€ requirements.txt # Python ์˜์กด์„ฑ โ”œโ”€โ”€ README_LAW.md # ํ”„๋กœ์ ํŠธ ๋ฌธ์„œ (์ด ํŒŒ์ผ) โ””โ”€โ”€ pyproject.toml # ํ”„๋กœ์ ํŠธ ์„ค์ • ``` ## ๐Ÿš€ ๋กœ๋“œ๋งต - [ ] ๋ฒ•๋ น ๊ฐœ์ • ์ด๋ ฅ ์กฐํšŒ - [ ] ๋ฒ•๋ น/ํŒ๋ก€ ์ „๋ฌธ PDF ๋‹ค์šด๋กœ๋“œ - [ ] ์ž์—ฐ์–ด ๊ธฐ๋ฐ˜ ๋ฒ•๋ น ํ•ด์„ - [ ] ๋ฒ•๋ น ๋น„๊ต ๋ถ„์„ ๊ธฐ๋Šฅ - [ ] ํŒ๋ก€ ์œ ์‚ฌ๋„ ๋ถ„์„ - [ ] ๋ฒ•๋ฅ  ์šฉ์–ด ์‚ฌ์ „ ## ๐Ÿ’ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ ์ด MCP ์„œ๋ฒ„๋Š” **ํŒ๋งค์šฉ ์ œํ’ˆ**์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค: ### ํƒ€๊ฒŸ ๊ณ ๊ฐ - ๐Ÿข **๋ฒ•๋ฅ ์‚ฌ๋ฌด์†Œ/๋กœํŽŒ**: ๋ฒ•๋ฅ  ๋ฆฌ์„œ์น˜ ์ž๋™ํ™” - ๐Ÿญ **๊ธฐ์—… ๋ฒ•๋ฌดํŒ€**: ์ปดํ”Œ๋ผ์ด์–ธ์Šค ๊ด€๋ฆฌ - ๐Ÿš€ **์Šคํƒ€ํŠธ์—…**: ๋ฒ•๋ฅ  ๋ฆฌ์Šคํฌ ๋ถ„์„ - ๐ŸŽ“ **๋ฒ•ํ•™ ์—ฐ๊ตฌ์ž**: ํŒ๋ก€ ์—ฐ๊ตฌ ๋„๊ตฌ ### ๊ฐ€๊ฒฉ ์ฑ…์ • (์ฐธ๊ณ ) - **Basic**: 30๋งŒ์› (๊ธฐ๋ณธ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ) - **Pro**: 100๋งŒ์› (AI ๋ถ„์„ ๊ธฐ๋Šฅ ์ถ”๊ฐ€) - **Enterprise**: 200๋งŒ์›+ (์ปค์Šคํ„ฐ๋งˆ์ด์ง•, ๊ธฐ์ˆ  ์ง€์›) ### ์ฐจ๋ณ„ํ™” ํฌ์ธํŠธ - โœ… ๊ตญ๊ฐ€ ๊ณต์‹ ๋ฐ์ดํ„ฐ ํ™œ์šฉ - โœ… AI ์—์ด์ „ํŠธ ์ง์ ‘ ํ†ตํ•ฉ - โœ… ์‹ค์‹œ๊ฐ„ ์ตœ์‹  ๋ฒ•๋ น/ํŒ๋ก€ ์กฐํšŒ - โœ… ํ•œ๊ตญ์–ด ์™„๋ฒฝ ์ง€์› - โœ… ๋ณต์žกํ•œ API ์ฒ˜๋ฆฌ ์ž๋™ํ™” ## ๐Ÿ“„ ๋ผ์ด์„ ์Šค MIT License ## ๐Ÿค ๊ธฐ์—ฌ ๋ฐ ๋ฌธ์˜ - **์ด์Šˆ**: GitHub Issues - **๋ฌธ์˜**: law-mcp@example.com - **๋ฌธ์„œ**: https://github.com/your-repo/korean-law-mcp --- **Made with โค๏ธ for Korean Legal Professionals** ๊ตญ๊ฐ€๋ฒ•๋ น์ •๋ณด์„ผํ„ฐ Open API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SeoNaRu/korean-law-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server