wowzoo/korea-weather-mcp
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
๊ฐ๋ฐ์์ฉ ์ค์น
- Python 3.13 ์ด์์ด ํ์ํฉ๋๋ค.
- uv ํจํค์ง ๋งค๋์ ๋ฅผ ์ฌ์ฉํ์ฌ ์์กด์ฑ์ ์ค์นํฉ๋๋ค:
git clone <repository-url>
cd weather
uv venv --python 3.13
uv sync
์ฌ์ฉ ๋ฐฉ๋ฒ
ํ๊ฒฝ ์ค์
- ๊ณต๊ณต๋ฐ์ดํฐํฌํธ์ ํ์๊ฐ์ ํ ๊ธฐ์์ฒญ ์ด๋จ๊ธฐ์๋ณด API ํค๋ฅผ ๋ฐ๊ธ๋ฐ์์ผ ํฉ๋๋ค.
๋ง์ดํ์ด์ง -> ๊ฐ์ธ API์ธ์ฆํค์์ ์ธ์ฆํค ๋ณต์ฌ(Decoding)์ ํด๋ฆญํ์ฌ API ํค๋ฅผ ๋ฐ์์ต๋๋ค.
- ๋ฐ๊ธ๋ฐ์ 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 ๋ฐฐํฌ ๋ฐฉ๋ฒ
- ๋น๋ ๋๊ตฌ ์ค์น:
uv add --dev build twine
- ํจํค์ง ๋น๋:
uv run python -m build
- PyPI ์ ๋ก๋:
uv run twine upload dist/*
์ฐธ๊ณ ์ฌํญ
- ์ด๋จ๊ธฐ์๋ณด๋ ๋งค์๊ฐ 30๋ถ์ ์์ฑ๋๊ณ 10๋ถ๋ง๋ค ์ต์ ์ ๋ณด๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
- ํ๋์ํ(SKY) ์ฝ๋: ๋ง์(1), ๊ตฌ๋ฆ๋ง์(3), ํ๋ฆผ(4)
- ๊ฐ์ํํ(PTY) ์ฝ๋: ์์(0), ๋น(1), ๋น/๋(2), ๋(3), ๋น๋ฐฉ์ธ(5), ๋น๋ฐฉ์ธ๋๋ ๋ฆผ(6), ๋๋ ๋ฆผ(7)