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.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Nara Market FastMCP Servershow me recent bid announcements for IT equipment"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π 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 μ§μ
β νλ‘λμ μ€λΉ μλ£
π‘ λ¬Έμμ¬νμ΄λ κΈ°μ μ§μμ΄ νμνμλ©΄ μ΄μλ₯Ό μμ±ν΄ μ£ΌμΈμ.