✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

Python MCP Korea Weather Service

MCP (Model Control Protocol) μ„œλ²„λ₯Ό μ΄μš©ν•œ ν•œκ΅­ 기상 정보 제곡 μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.

μ„€μΉ˜ 방법

  1. 이 μ €μž₯μ†Œλ₯Ό ν΄λ‘ ν•©λ‹ˆλ‹€:
git clone https://github.com/jikime/py-mcp-ko-weather.git
cd py-mcp-ko-weather
  1. uv μ„€μΉ˜
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. uvλ₯Ό μ‚¬μš©ν•˜μ—¬ κ°€μƒν™˜κ²½μ„ μƒμ„±ν•˜κ³  ν•„μš”ν•œ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•©λ‹ˆλ‹€:
uv venv -p 3.12
source .venv/bin/activate
uv pip install -r requirements.txt
  1. .env νŒŒμΌμ— 기상청 API ν‚€λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€:
cp env.example .env
vi .env
KO_WEATHER_API_KEY=your_api_key_here
  1. μ—‘μ…€μ˜ 기상청 격자 μ’Œν‘œμ˜ 데이타λ₯Ό SQLite둜 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•©λ‹ˆλ‹€.
uv run src/migrate.py

기상청 API ν‚€ λ°œκΈ‰ 방법

  1. 곡곡데이터포털에 μ ‘μ†ν•˜μ—¬ νšŒμ›κ°€μž… 및 λ‘œκ·ΈμΈν•©λ‹ˆλ‹€.
  2. β€œκΈ°μƒμ²­_λ‹¨κΈ°μ˜ˆλ³΄ ((ꡬ)_λ™λ„€μ˜ˆλ³΄) μ‘°νšŒμ„œλΉ„μŠ€β€ APIλ₯Ό κ²€μƒ‰ν•˜μ—¬ ν™œμš©μ‹ μ²­ν•©λ‹ˆλ‹€.
  3. 승인 ν›„ 받은 API ν‚€λ₯Ό .env νŒŒμΌμ— μ„€μ •ν•©λ‹ˆλ‹€.

MCP 도ꡬ κ΅¬μ„±ν•˜κΈ°

~/Library/Application Support/Claude/claude_desktop_config.json νŒŒμΌμ„ μ—΄κ³  날씨 μ„œλ²„λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

{
    "mcpServers": {
      "Korea Weather": {
        "command": "/Users/jikime/Dev/.local/bin/uv",
        "args": [
          "--directory",
          "/Users/jikime/Dev/py-mcp-ko-weather",
          "run",
          "src/server.py"
        ]
      }
    }
}

μ‹€ν–‰ 방법

  • Claude Desktop 을 μ‹€ν–‰ν•˜μ—¬ 도ꡬ에 μΆ”κ°€λ˜μ—ˆλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
  • μ±„νŒ… μž…λ ₯창에 β€œμ„œμšΈνŠΉλ³„μ‹œ μ„œμ΄ˆκ΅¬ μ–‘μž¬1동"의 λ‚ μ”¨λŠ”?” 라고 μž…λ ₯ν•΄λ³΄μ„Έμš”.

κΈ°λŠ₯ μ„€λͺ…

이 MCP μ„œλ²„λŠ” λ‹€μŒκ³Ό 같은 κΈ°λŠ₯듀을 μ œκ³΅ν•©λ‹ˆλ‹€:

도ꡬ (Tools)

  1. μœ„μΉ˜ μ’Œν‘œ 쑰회 (get_grid_location)

    • μ„€λͺ…: ν•œκ΅­ 기상청 API에 μ‚¬μš©λ˜λŠ” 격자 μ’Œν‘œ(nx, ny)λ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€. μ‚¬μš©μžκ°€ μž…λ ₯ν•œ μ‹œ/도, ꡬ/κ΅°, 동/읍/λ©΄ 정보λ₯Ό λ°”νƒ•μœΌλ‘œ ν•΄λ‹Ή μ§€μ—­μ˜ 기상청 격자 μ’Œν‘œλ₯Ό λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ κ²€μƒ‰ν•˜μ—¬ λ°˜ν™˜ν•©λ‹ˆλ‹€. 이 λ„κ΅¬λŠ” 기상청 API ν˜ΈμΆœμ— ν•„μš”ν•œ μ •ν™•ν•œ μ’Œν‘œκ°’μ„ μ–»κΈ° μœ„ν•΄ ν•„μˆ˜μ μœΌλ‘œ μ‚¬μš©λ©λ‹ˆλ‹€.
    • νŒŒλΌλ―Έν„°:
      • city: μ‹œ/도 이름 (예: β€œμ„œμšΈνŠΉλ³„μ‹œβ€)
      • gu: ꡬ/κ΅° 이름 (예: β€œμ„œμ΄ˆκ΅¬β€)
      • dong: 동/읍/λ©΄ 이름 (예: β€œμ–‘μž¬1동”)
    • λ°μ΄ν„°λŠ” λ‚΄μž₯된 SQLite λ°μ΄ν„°λ² μ΄μŠ€(data/weather_grid.db)μ—μ„œ μ‘°νšŒλ©λ‹ˆλ‹€.
  2. 날씨 예보 쑰회 (get_forecast)

    • μ„€λͺ…: ν•œκ΅­ κΈ°μƒμ²­μ˜ μ΄ˆλ‹¨κΈ°μ˜ˆλ³΄ APIλ₯Ό ν˜ΈμΆœν•˜μ—¬ νŠΉμ • μ§€μ—­μ˜ 날씨 예보 정보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. μ‚¬μš©μžκ°€ μž…λ ₯ν•œ μ§€μ—­ 정보와 격자 μ’Œν‘œλ₯Ό λ°”νƒ•μœΌλ‘œ ν˜„μž¬ μ‹œμ μ—μ„œμ˜ 기상 정보λ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€. 이 λ„κ΅¬λŠ” μ˜¨λ„, κ°•μˆ˜λŸ‰, ν•˜λŠ˜μƒνƒœ, μŠ΅λ„, 풍ν–₯, 풍속 λ“± μƒμ„Έν•œ 기상 정보λ₯Ό ν¬ν•¨ν•˜λ©°, 6μ‹œκ°„ μ΄λ‚΄μ˜ 단기 예보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
    • νŒŒλΌλ―Έν„°:
      • city: μ‹œ/도 이름 (예: β€œμ„œμšΈνŠΉλ³„μ‹œβ€)
      • gu: ꡬ/κ΅° 이름 (예: β€œμ„œμ΄ˆκ΅¬β€)
      • dong: 동/읍/λ©΄ 이름 (예: β€œμ–‘μž¬1동”)
      • nx: X 격자 μ’Œν‘œ
      • ny: Y 격자 μ’Œν‘œ

λ¦¬μ†ŒμŠ€ (Resources)

날씨 μ„œλΉ„μŠ€ μ‚¬μš© μ„€λͺ…μ„œ (weather-instructions)

  • URI: weather-instructions
  • μ„€λͺ…: ν•œκ΅­ 기상 μ„œλΉ„μŠ€μ˜ μ‚¬μš© 방법을 μ„€λͺ…ν•˜λŠ” 상세 κ°€μ΄λ“œμž…λ‹ˆλ‹€. 이 λ¦¬μ†ŒμŠ€λŠ” 도ꡬ μ‚¬μš© 방법, μ›Œν¬ν”Œλ‘œμš°, 응닡 ν˜•μ‹ λ“± μ„œλΉ„μŠ€ μ‚¬μš©μ— ν•„μš”ν•œ λͺ¨λ“  정보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. LLM이 날씨 도ꡬλ₯Ό 효과적으둜 ν™œμš©ν•  수 μžˆλ„λ‘ κ΅¬μ‘°ν™”λœ 정보λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.

ν”„λ‘¬ν”„νŠΈ (Prompts)

날씨 정보 쑰회 ν”„λ‘¬ν”„νŠΈ (weather-query)

  • μ„€λͺ…: ν•œκ΅­ μ§€μ—­μ˜ 날씨 정보λ₯Ό μ‘°νšŒν•˜κΈ° μœ„ν•œ λŒ€ν™”ν˜• ν”„λ‘¬ν”„νŠΈ ν…œν”Œλ¦Ώμž…λ‹ˆλ‹€. 이 ν”„λ‘¬ν”„νŠΈλŠ” μ‚¬μš©μžμ™€ LLM κ°„μ˜ κ΅¬μ‘°ν™”λœ λŒ€ν™”λ₯Ό μ•ˆλ‚΄ν•˜λ©°, μ μ ˆν•œ 도ꡬ μ‚¬μš© μˆœμ„œμ™€ 응닡 ν˜•μ‹μ„ μ œμ‹œν•©λ‹ˆλ‹€. μ‚¬μš©μžλ‘œλΆ€ν„° ν•„μš”ν•œ 정보λ₯Ό μˆ˜μ§‘ν•˜κ³  날씨 예보λ₯Ό λͺ…ν™•ν•˜κ²Œ μ œκ³΅ν•˜λŠ” 방법을 λ‹΄κ³  μžˆμŠ΅λ‹ˆλ‹€.

λΌμ΄μ„ΌμŠ€

Apache License 2.0

Featured Templates

View More
AI Agents
AI Video Generator
258 2302
Customer service
AI-Powered Product List Manager
159 1160
AI Characters
Sarcastic AI Chat Bot
129 2038
AI Engineering
Python Bug Fixer
122 1767
Customer service
Multi-language AI Translator
139 1247

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.