Python을 사용하여 날씨 MCP 서버 구축하기
요약
Model Context Protocol(MCP)을 사용하여 Python 기반의 날씨 정보를 제공하는 MCP 서버를 구축하는 방법을 설명합니다. Open-Meteo API를 활용해 온도, 풍속, 습도 데이터를 반환하는 도구를 구현하고 MCP Inspector로 테스트하는 과정을 다룹니다.
핵심 포인트
- MCP 표준을 활용한 AI 모델과 외부 데이터 연결 방법 제시
- Python과 FastMCP 라이브러리를 이용한 서버 구현
- Open-Meteo API를 통한 실시간 날씨 데이터 연동
- MCP Inspector를 활용한 개발 및 디버깅 프로세스
Python을 사용하여 날씨 MCP 서버 구축하기
서론 (Introduction)
Model Context Protocol (MCP)는 Claude와 같은 AI 모델이 외부 도구 및 데이터 소스와 연결될 수 있도록 하는 개방형 표준입니다. 이 글에서는 어떤 MCP 클라이언트도 사용할 수 있는 Python 기반의 날씨 MCP 서버를 구축하는 방법을 보여드리겠습니다.
구축할 내용 (What We'll Build)
하나의 도구(get_weather)를 가진 간단한 MCP 서버를 만듭니다. 이 도구는 도시 이름을 입력받아 Open-Meteo API(무료, API 키 불필요)를 사용하여 현재 온도, 풍속, 습도를 반환합니다.
요구 사항 (Requirements)
- Python 3.12+
- mcp[cli]
- httpx
설치 (Installation)
pip install "mcp[cli]" httpx
코드 (The Code)
from mcp.server.fastmcp import FastMCP
import httpx
...
MCP Inspector를 통한 테스트 (Testing with MCP Inspector)
개발 서버를 실행합니다:
mcp dev server.py
이렇게 하면 브라우저에서 MCP Inspector가 열리며, 여기서 어떤 도시 이름을 사용하여 get_weather 도구를 테스트할 수 있습니다.
결과 (Result)
"Lima"로 테스트했을 때, 서버는 다음과 같이 반환했습니다:
- 온도 (Temperature): 19.0°C
- 풍속 (Wind Speed): 12.2 km/h
- 습도 (Humidity): 81%
저장소 (Repository)
전체 소스 코드는 GitHub에서 확인할 수 있습니다:
weather-mcp-server
결론 (Conclusion)
MCP를 사용하면 실제 데이터를 통해 AI의 기능을 쉽게 확장할 수 있습니다. 단 몇 줄의 Python 코드만으로 Claude나 VSCode와 같은 모든 MCP 클라이언트가 사용할 수 있는 작동 가능한 날씨 도구를 구축했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기