Supports containerized deployment of the Nara Market MCP server with Docker image building and container execution capabilities.
Uses .env files for environment variable configuration including API keys and server settings.
Requires Git for cloning the repository and version control during installation and development.
Hosted on GitHub for source code distribution and collaboration.
Uses npm to install the Smithery CLI tool for cloud deployment management.
Employs pytest for running test suites during development and testing.
Built with Python 3.10+ as the primary programming language and runtime environment.
Uses YAML configuration files (smithery.yaml) for deployment settings and configuration management.
๐ Nara Market FastMCP 2.0 Server
ํ๊ตญ ์ ๋ถ์กฐ๋ฌ(G2B) ๋ฐ ๋๋ผ์ฅํฐ ์ผํ๋ชฐ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ FastMCP์๋ฒ์ ๋๋ค.
๐ ๏ธ ์ฌ์ฉ ๊ฐ๋ฅํ MCP ๋๊ตฌ (์ด 15๊ฐ)
๐๏ธ ๊ธฐ๋ณธ API ํธ์ถ ๋๊ตฌ (4๊ฐ)
Tool | ๊ธฐ๋ฅ | ์ง์ API |
| ๊ณต๊ณต๋ฐ์ดํฐ๊ฐ๋ฐฉํ์ค API ํธ์ถ | ์ ์ฐฐ๊ณต๊ณ , ๋์ฐฐ์ ๋ณด, ๊ณ์ฝ์ ๋ณด ๋ฑ |
| ๊ณต๊ณต์กฐ๋ฌํต๊ณ์ ๋ณด API ํธ์ถ | ์ ์ฒด/๊ธฐ๊ด๋ณ/๊ธฐ์ ๋ณ ์กฐ๋ฌ ํต๊ณ |
| ๋ฌผํ๋ชฉ๋ก์ ๋ณด API ํธ์ถ | ์ํ๋ถ๋ฅ, ๋ฌผํ์ ๋ณด ๋ฑ |
| ์ข ํฉ์ผํ๋ชฐํ๋ชฉ์ ๋ณด API ํธ์ถ | MAS ๊ณ์ฝ ์ํ์ ๋ณด |
๐ค AI ์นํ ๊ฐํธ ๋๊ตฌ (4๊ฐ)
Tool | ๊ธฐ๋ฅ | ํน์ง |
| ์ต๊ทผ ์ ์ฐฐ๊ณต๊ณ ์กฐํ | ํ๊ธ ์ ๋ฌด๊ตฌ๋ถ, ์๋ ๋ ์ง ๊ณ์ฐ |
| ์ ๋ฌด๊ตฌ๋ถ๋ณ ๋์ฐฐ์ ๋ณด ์กฐํ | ํ๊ธ ์ ๋ ฅ, ์๋ ์ฝ๋ ๋ณํ |
| ์ฐ๋๋ณ ์กฐ๋ฌํต๊ณ ์กฐํ | ๊ฐ๋จํ ์ฐ๋ ์ ๋ ฅ |
| ์ผํ๋ชฐ ์ ํ ๊ฒ์ | ์ ํ๋ช /์ ์ฒด๋ช ๊ฒ์ |
๐งญ ๊ณ ๊ธ ๋ถ์ ๋๊ตฌ (4๊ฐ)
Tool | ๊ธฐ๋ฅ | ์ฉ๋ |
| ์ ์ฒด API ์๋น์ค ์ ๋ณด | ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์๋น์ค ๋ฐ ์คํผ๋ ์ด์ ์กฐํ |
| ์๋น์ค๋ณ ์คํผ๋ ์ด์ ๋ชฉ๋ก | ํน์ ์๋น์ค์ ์ธ๋ถ ๊ธฐ๋ฅ ํ์ธ |
| ํ์ด์ง ์ง์ API ํธ์ถ | ๋๋ ๋ฐ์ดํฐ ์กฐํ ๋ฐ ํ์ ๊ฐ์ด๋ |
| ๋ฐ์ดํฐ ํ์ ๊ฐ์ด๋ | ํ๋ผ๋ฏธํฐ ์กฐํฉ ๋ฐ ๊ฒ์ ์ ๋ต ์ ๊ณต |
๐ฆ ๊ธฐ๋ณธ ๊ธฐ๋ฅ ๋๊ตฌ (3๊ฐ)
Tool | ๊ธฐ๋ฅ | ์ค๋ช |
| ๋๋ผ์ฅํฐ ์ํ ๋ชฉ๋ก ์กฐํ | ๊ธฐ๋ณธ ์ํ ๋ฆฌ์คํธ ์์ง |
| ์ํ ์์ธ ์์ฑ ์กฐํ | ๊ฐ๋ณ ์ํ์ ์ธ๋ถ ์ ๋ณด |
| ์๋ฒ ์ ๋ณด | ๋ฒ์ ๋ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๋๊ตฌ ๋ชฉ๋ก |
๐ AI ๊ฐ์ด๋ ๋ฆฌ์์ค (3๊ฐ Resource + 3๊ฐ Prompt)
MCP Resources
api_parameter_requirements- API๋ณ ํ์/์ ํ ํ๋ผ๋ฏธํฐ ๊ฐ์ด๋parameter_value_examples- ํ๋ผ๋ฏธํฐ ๊ฐ ์์ ๋ฐ ํ์ ๊ฐ์ด๋common_search_patterns- ์์ฃผ ์ฌ์ฉ๋๋ ๊ฒ์ ํจํด ๋ฐ ์ต์ ํ ์ ๋ต
MCP Prompts
workflow_guide- ๋จ๊ณ๋ณ ์ํฌํ๋ก์ฐ ๊ฐ์ด๋ (5๊ฐ์ง ๋ถ์ ์๋๋ฆฌ์ค)parameter_selection_guide- ํ๋ผ๋ฏธํฐ ์ ํ ๋ฐ ์ต์ ํ ๊ฐ์ด๋real_world_query_examples- ์ค์ ์ ๋ฌด ์๋๋ฆฌ์ค๋ณ ์ฟผ๋ฆฌ ์์ (8๊ฐ์ง)
๐ง ์ค์น ๋ฐ ์คํ
์์คํ ์๊ตฌ์ฌํญ
Python: 3.10 ์ด์
๋ฉ๋ชจ๋ฆฌ: ์ต์ 2GB (๋๋ ๋ฐ์ดํฐ ์์ง ์ 4GB+ ๊ถ์ฅ)
๋์คํฌ: ์์ง ๋ฐ์ดํฐ ํฌ๊ธฐ์ ๋ฐ๋ผ ์กฐ์
1. ๋ก์ปฌ ์ค์น (๊ฐ๋ฐ/ํ ์คํธ)
2. ํจํค์ง ์ค์น
3. Docker ์คํ
๐ญ Smithery.ai ํด๋ผ์ฐ๋ ๋ฐฐํฌ
๋น ๋ฅธ ๋ฐฐํฌ
Smithery CLI ์ค์น
npm install -g @smithery/cliAPI ํค ์ค๋น
data.go.kr์์ ๋๋ผ์ฅํฐ API ํค ๋ฐ๊ธ
Smithery.ai ๋์๋ณด๋์์
NARAMARKET_SERVICE_KEY์ํฌ๋ฆฟ ์ค์
๋ฐฐํฌ ์คํ
./deploy.sh # ๋๋ ์๋: smithery deploy
๋ฐฐํฌ ๊ตฌ์ฑ
โ
smithery.yaml: ๋ฉ์ธ ๋ฐฐํฌ ์ค์ โ
Dockerfile: ํ๋ก๋์ ์ต์ ํ ์ปจํ ์ด๋โ
.env.example: ํ๊ฒฝ๋ณ์ ํ ํ๋ฆฟโ
deploy.sh: ์๋ ๋ฐฐํฌ ์คํฌ๋ฆฝํธ
์ฃผ์ ๋ฐฐํฌ ํน์ง
HTTP Transport: Smithery.ai์ HTTP ๊ธฐ๋ฐ MCP ํ๋กํ ์ฝ
๋์ ํฌํธ:
PORTํ๊ฒฝ๋ณ์ ์๋ ๊ฐ์งํฌ์ค์ฒดํฌ:
/mcp์๋ํฌ์ธํธ ๋ชจ๋ํฐ๋ง์ํฌ๋ฆฟ ๊ด๋ฆฌ: ํ๊ฒฝ๋ณ์ ๊ธฐ๋ฐ API ํค ์ค์
์คํ ์ค์ผ์ผ๋ง: ๋ก๋์ ๋ฐ๋ฅธ 1-10 ์ธ์คํด์ค ์๋ ํ์ฅ
MCP ์๋ํฌ์ธํธ
๋ฐฐํฌ ์๋ฃ ํ ๋ค์ ์๋ํฌ์ธํธ ์ฌ์ฉ ๊ฐ๋ฅ:
GET /mcp- ํฌ์ค์ฒดํฌ ๋ฐ ์๋ฒ ์ ๋ณดPOST /mcp- MCP ๋๊ตฌ ํธ์ถDELETE /mcp- ๋ฆฌ์ /์ ๋ฆฌ ์์
๐ API ์ฌ์ฉ ์์
๋๋ผ์ฅํฐ ์ํ ๋ชฉ๋ก ์กฐํ
G2B ์ ์ฐฐ๊ณต๊ณ ์ ๋ณด ์กฐํ
๋๋ ๋ฐ์ดํฐ CSV ์์ง (๋ถํ ์ฒ๋ฆฌ)
โ๏ธ ํ๊ฒฝ ๋ณ์ ์ค์
ํ์ ํ๊ฒฝ ๋ณ์
์ ํ ํ๊ฒฝ ๋ณ์
๐ ๋์ฉ๋ ๋ฐ์ดํฐ ์์ง ๊ฐ์ด๋
์๋์ฐ ๋ถํ ์ ๋ต
๋๋ ๋ฐ์ดํฐ ์์ง ์ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ๊ณผ ์ฌ์์ ๊ฐ๋ฅ์ฑ์ ์ํด ์๋์ฐ ๋ถํ ์ ์ฌ์ฉํฉ๋๋ค.
์ด์ด๋ฐ๊ธฐ ์คํ
์ฃผ์ ํ๋ผ๋ฏธํฐ ์ค๋ช
ํ๋ผ๋ฏธํฐ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
| ์์งํ ์ด ์ผ์ (์ญ์) | 365 |
| ์๋์ฐ ํฌ๊ธฐ (์ผ) | 30 |
| ์์ ๊ธฐ์ค ๋ ์ง (YYYYMMDD) | ์ค๋ |
| ํธ์ถ๋น ์ต๋ ์๋์ฐ ์ | 0 (๋ฌด์ ํ) |
| ์ต๋ ์คํ ์๊ฐ (์ด) | None |
| ๊ธฐ์กด ํ์ผ์ ์ถ๊ฐ ์ฌ๋ถ | false |
| ์์ฑ ์ปฌ๋ผ ํผ์น๊ธฐ | false |
๐ ํ๋ก์ ํธ ๊ตฌ์กฐ
๐ง ๋ฌธ์ ํด๊ฒฐ
์ผ๋ฐ์ ์ธ ๋ฌธ์
1. API ํค ์ค๋ฅ
ํด๊ฒฐ๋ฐฉ๋ฒ: .env ํ์ผ ๋๋ ํ๊ฒฝ๋ณ์์ ์ฌ๋ฐ๋ฅธ API ํค ์ค์
2. ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ
ํด๊ฒฐ๋ฐฉ๋ฒ: window_days ์ค์ด๊ธฐ, max_windows_per_call ๊ฐ์
3. ๋คํธ์ํฌ ํ์์์
ํด๊ฒฐ๋ฐฉ๋ฒ: max_runtime_sec ์ค์ , ์ฌ์์ ๊ฐ๋ฅํ ๋ฐฐ์น๋ก ๋ถํ
๋ก๊ทธ ๋ถ์
์ฑ๋ฅ ์ต์ ํ
๋ฉ๋ชจ๋ฆฌ: ํฐ ๋ฐ์ดํฐ์ ์ CSV ์ง์ ์ ์ฅ ์ฌ์ฉ
๋คํธ์ํฌ: ์ ์ ํ
window_days์ค์ ์ผ๋ก ๋ฐฐ์น ํฌ๊ธฐ ์กฐ์ ๋์คํฌ: SSD ์ฌ์ฉ ๊ถ์ฅ, ์ถฉ๋ถํ ์ฌ์ ๊ณต๊ฐ ํ๋ณด
๐ค ๊ธฐ์ฌ ๋ฐฉ๋ฒ
๊ฐ๋ฐ ํ๊ฒฝ ์ค์
๊ธฐ์ฌ ๊ฐ์ด๋๋ผ์ธ
์ด์ ์์ฑ: ๋ฒ๊ทธ ๋ฆฌํฌํธ ๋๋ ๊ธฐ๋ฅ ์์ฒญ
ํฌํฌ & ๋ธ๋์น:
feature/your-feature-name๋ธ๋์น ์์ฑ๊ฐ๋ฐ: ํ ์คํธ ์ฝ๋์ ํจ๊ป ๊ตฌํ
ํ ์คํธ: ๋ชจ๋ ํ ์คํธ ํต๊ณผ ํ์ธ
Pull Request: ์์ธํ ์ค๋ช ๊ณผ ํจ๊ป PR ์์ฑ
์ฝ๋ ์คํ์ผ
ํฌ๋งคํ : Black ์ฌ์ฉ
๋ฆฐํ : Flake8 ์ค์
ํ์ : Type hints ํ์
๋ฌธ์: Docstring ์์ฑ
๐ ๋ผ์ด์ ์ค
Apache License 2.0 - ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ ์ฐธ์กฐ
๐ ๊ด๋ จ ๋งํฌ
Smithery.ai: https://smithery.ai
FastMCP: https://github.com/jlowin/fastmcp
๋๋ผ์ฅํฐ Open API: https://www.data.go.kr/
G2B ์ ์์กฐ๋ฌ์์คํ : http://www.g2b.go.kr/
๐ ๋ณ๊ฒฝ ์ด๋ ฅ
v0.1.0 (Latest)
โ FastMCP 2.0 ์ ๊ทธ๋ ์ด๋
โ Smithery.ai ๋ฐฐํฌ ์ง์ ์ถ๊ฐ
โ G2B OpenAPI 5๊ฐ ๋๊ตฌ ํตํฉ
โ HTTP Transport ์ง์
โ ํ๋ก๋์ ์ค๋น ์๋ฃ
๐ก ๋ฌธ์์ฌํญ์ด๋ ๊ธฐ์ ์ง์์ด ํ์ํ์๋ฉด ์ด์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
This server cannot be installed