korea-weather-mcp

wowzoo/korea-weather-mcp

3.1

If you are the rightful owner of korea-weather-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This server provides real-time weather information for South Korea using the Korea Meteorological Administration's ultra-short-term forecast API.

๋Œ€ํ•œ๋ฏผ๊ตญ ๋‚ ์”จ ์ •๋ณด MCP ์„œ๋ฒ„

๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ์˜ ๊ธฐ์ƒ์ฒญ ์ดˆ๋‹จ๊ธฐ์˜ˆ๋ณด API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋Œ€ํ•œ๋ฏผ๊ตญ์˜ ์‹ค์‹œ๊ฐ„ ๋‚ ์”จ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” Model Context Protocol(MCP) ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ

  • ์œ„๋„์™€ ๊ฒฝ๋„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํ˜„์žฌ ๋‚ ์”จ ์ •๋ณด ์ œ๊ณต
  • ๊ธฐ์˜จ, ํ•˜๋Š˜์ƒํƒœ, ๊ฐ•์ˆ˜ํ˜•ํƒœ, ์Šต๋„, 1์‹œ๊ฐ„ ๊ฐ•์ˆ˜๋Ÿ‰ ๋“ฑ ์ƒ์„ธ ์ •๋ณด ์ œ๊ณต

์„ค์น˜ ๋ฐฉ๋ฒ•

uvx๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐ„ํŽธ ์„ค์น˜ (๊ถŒ์žฅ)

uvx korea-weather-mcp@latest

๊ฐœ๋ฐœ์ž์šฉ ์„ค์น˜

  1. Python 3.13 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  2. uv ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜์กด์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค:
git clone <repository-url>
cd weather
uv venv --python 3.13
uv sync

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

ํ™˜๊ฒฝ ์„ค์ •

  1. ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ์— ํšŒ์›๊ฐ€์ž… ํ›„ ๊ธฐ์ƒ์ฒญ ์ดˆ๋‹จ๊ธฐ์˜ˆ๋ณด API ํ‚ค๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ดํŽ˜์ด์ง€ -> ๊ฐœ์ธ API์ธ์ฆํ‚ค์—์„œ ์ธ์ฆํ‚ค ๋ณต์‚ฌ(Decoding)์„ ํด๋ฆญํ•˜์—ฌ API ํ‚ค๋ฅผ ๋ฐ›์•„์˜ต๋‹ˆ๋‹ค.

  1. ๋ฐœ๊ธ‰๋ฐ›์€ API ํ‚ค๋ฅผ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
๋ฐฉ๋ฒ• 1: ํ„ฐ๋ฏธ๋„์—์„œ ์ง์ ‘ ์„ค์ • (์ž„์‹œ)

ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:

export PUBLIC_DATA_API_SECRET="๋ฐœ๊ธ‰๋ฐ›์€_API_ํ‚ค๋ฅผ_์—ฌ๊ธฐ์—_์ž…๋ ฅ"

์ด ๋ฐฉ๋ฒ•์€ ํ˜„์žฌ ํ„ฐ๋ฏธ๋„ ์„ธ์…˜์—์„œ๋งŒ ์œ ํšจํ•˜๋ฉฐ, ํ„ฐ๋ฏธ๋„์„ ๋‹ซ์œผ๋ฉด ์„ค์ •์ด ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ• 2: ์‰˜ ์„ค์ • ํŒŒ์ผ์— ์˜๊ตฌ ์„ค์ •

zsh ์‚ฌ์šฉ์ž (.zshrc):

echo 'export PUBLIC_DATA_API_SECRET="๋ฐœ๊ธ‰๋ฐ›์€_API_ํ‚ค๋ฅผ_์—ฌ๊ธฐ์—_์ž…๋ ฅ"' >> ~/.zshrc
source ~/.zshrc

bash ์‚ฌ์šฉ์ž (.bashrc):

echo 'export PUBLIC_DATA_API_SECRET="๋ฐœ๊ธ‰๋ฐ›์€_API_ํ‚ค๋ฅผ_์—ฌ๊ธฐ์—_์ž…๋ ฅ"' >> ~/.bashrc
source ~/.bashrc

์„ค์ • ํ›„ ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ€ ์ œ๋Œ€๋กœ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

echo $PUBLIC_DATA_API_SECRET

Claude Desktop์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ

Claude Desktop์—์„œ MCP ์„œ๋ฒ„๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • Claude Desktop ์˜ Settings ์—์„œ Developer ์„น์…˜์œผ๋กœ ์ด๋™
  • Edit Config ๋ฅผ ์„ ํƒํ•˜์—ฌ claude_desktop_config.json ํŒŒ์ผ์„ ์—ด์–ด์„œ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค.
uvx ์‚ฌ์šฉ (๊ถŒ์žฅ)
{
  "mcpServers": {
    "korea-weather-mcp": {
      "command": "uvx",
      "args": ["korea-weather-mcp@latest"],
      "env": {
        "PUBLIC_DATA_API_SECRET": "๋ฐœ๊ธ‰๋ฐ›์€_API_ํ‚ค๋ฅผ_์—ฌ๊ธฐ์—_์ž…๋ ฅ"
      }
    }
  }
}
๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ
{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
        "--directory",
        "weather.py ๊ฐ€ ์œ„์น˜ํ•œ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ ˆ๋Œ€๊ฒฝ๋กœ ์ž…๋ ฅ",
        "run",
        "weather.py"
      ],
      "env": {
        "PUBLIC_DATA_API_SECRET": "๋ฐœ๊ธ‰๋ฐ›์€_API_ํ‚ค๋ฅผ_์—ฌ๊ธฐ์—_์ž…๋ ฅ"
      }
    }
  }
}
  • Claude Desktop ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์‘๋‹ต ์˜ˆ์‹œ

๊ธฐ์ˆ  ์Šคํƒ

  • Python 3.13+
  • FastMCP 2.3.4+
  • httpx (๋น„๋™๊ธฐ HTTP ํด๋ผ์ด์–ธํŠธ)
  • uv (Python ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €)

๋ฐ์ดํ„ฐ ์ถœ์ฒ˜

PyPI ๋ฐฐํฌ ๋ฐฉ๋ฒ•

  1. ๋นŒ๋“œ ๋„๊ตฌ ์„ค์น˜:
uv add --dev build twine
  1. ํŒจํ‚ค์ง€ ๋นŒ๋“œ:
uv run python -m build
  1. PyPI ์—…๋กœ๋“œ:
uv run twine upload dist/*

์ฐธ๊ณ  ์‚ฌํ•ญ

  • ์ดˆ๋‹จ๊ธฐ์˜ˆ๋ณด๋Š” ๋งค์‹œ๊ฐ„ 30๋ถ„์— ์ƒ์„ฑ๋˜๊ณ  10๋ถ„๋งˆ๋‹ค ์ตœ์‹  ์ •๋ณด๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.
  • ํ•˜๋Š˜์ƒํƒœ(SKY) ์ฝ”๋“œ: ๋ง‘์Œ(1), ๊ตฌ๋ฆ„๋งŽ์Œ(3), ํ๋ฆผ(4)
  • ๊ฐ•์ˆ˜ํ˜•ํƒœ(PTY) ์ฝ”๋“œ: ์—†์Œ(0), ๋น„(1), ๋น„/๋ˆˆ(2), ๋ˆˆ(3), ๋น—๋ฐฉ์šธ(5), ๋น—๋ฐฉ์šธ๋ˆˆ๋‚ ๋ฆผ(6), ๋ˆˆ๋‚ ๋ฆผ(7)