HRFCO MCP Server
대한민국 수문 데이터터 API를 Claude Desktop과 연동하는 MCP(Model Context Protocol) 서버입니다.
🎉 현재 상태
✅ API 키 테스트 성공: 실제 HRFCO API 키로 모든 데이터 타입 테스트 완료 ✅ MCP 서버 준비 완료: Claude Desktop에서 사용 가능 ✅ GitHub Actions 설정: 자동 배포 워크플로우 구성 ✅ Docker 이미지: 컨테이너화 완료 ✅ 향상된 분석 기능: 위험 수위 기준 활용 및 종합 분석 기능 추가
📊 지원하는 데이터
- 수위 데이터 (waterlevel): 1,000+ 관측소
- 댐 데이터 (dam): 100+ 댐
- 강수량 데이터 (rainfall): 500+ 관측소
🚀 빠른 시작
1. Claude Desktop에서 사용
- MCP 설정 파일 복사
- Claude Desktop 재시작
- 사용 예시
2. 로컬 개발 환경
3. Docker로 실행
🔧 설정
환경 변수
변수명 | 설명 | 필수 |
---|---|---|
HRFCO_API_KEY | HRFCO API 키 | ✅ |
API 키 발급
- 한국수자원공사 API 접속
- API 키 신청 및 발급
- 환경 변수로 설정
📁 프로젝트 구조
🛠️ 개발
API 테스트
MCP 서버 테스트
향상된 기능 테스트
Docker 빌드
🆕 새로운 기능
📊 데이터 양 최적화
Claude 사용량을 최적화하기 위해 데이터 양을 지능적으로 조절합니다:
🎯 기본 분석 (적은 데이터)
- 기본 데이터 개수: 24개 (기존 48개에서 감소)
- 기본 시간 범위: 48시간 (기존 72시간에서 감소)
- 최근 데이터: 최근 5개만 포함
- 상세 분석: 기본적으로 비활성화
🔍 상세 분석 (많은 데이터)
- 상세 분석 요청 시: 최소 72개 데이터, 최소 168시간(7일)
- 최근 데이터: 최근 10개 포함
- 통계 정보: 상세 통계 및 상관관계 분석 포함
- 상관관계 분석: 강우량-수위 상관관계 분석 포함
📈 사용 예시
📊 데이터 가용성 개선
기존의 데이터 제한 문제를 해결하여 더 많은 시간 범위의 데이터를 조회할 수 있습니다:
- 시간 범위 확장: 기본 48시간에서 최대 720시간(30일)까지 조회 가능
- 자동 날짜 계산: 요청된 시간 범위에 따라 자동으로 시작/종료 날짜 계산
- 데이터 밀도 정보: 실제 사용 가능한 데이터 개수와 요청된 데이터 개수 비교 제공
- 유연한 파라미터:
hours
파라미터로 조회 시간 범위 조정 가능
개선된 응답 예시:
1. 위험 수위 기준 활용
수위 관측소의 관심, 주의보, 경보, 심각 단계별 위험 수위 기준을 자동으로 분석합니다.
사용 예시:
응답 예시:
2. 종합 수문 분석
수위와 강우량 데이터를 함께 분석하여 상관관계와 위험도를 종합적으로 평가합니다.
사용 예시:
주요 기능:
- 관측소 간 거리 계산
- 강우량-수위 상관관계 분석
- 위험 수위 기준 적용
- 변화 추세 분석
3. 지역별 위험 수위 상태 요약
지정된 지역의 모든 수위 관측소 상태를 한눈에 파악할 수 있습니다.
사용 예시:
4. 수계 종합 분석
같은 수계의 근접 시설들(수위, 강우량, 댐, 보)을 거리 기반으로 찾아 통합 분석합니다.
사용 예시:
주요 기능:
- 거리 기반 근접 시설 검색
- 수위, 강우량, 댐, 보 통합 분석
- 시설별 통계 및 위험도 평가
- 수계별 분포 통계 제공
응답 예시:
5. WAMIS API 수계 시설 검색
WAMIS API를 사용하여 특정 수계의 모든 수문 시설을 검색합니다.
사용 예시:
주요 기능:
- 수계별 시설 검색 (한강, 낙동강, 금강, 섬진강, 영산강, 제주도)
- 시설 타입별 필터링 (수위, 강우량, 기상, 댐)
- 관할기관별 필터링 (환경부, 한국수자원공사, 한국농어촌공사, 기상청, 한국수력원자력)
- 운영상태별 필터링 (운영중, 폐쇄)
- 시설 개수 통계 제공
응답 예시:
6. 통합 온톨로지 기반 분석
홍수통제소, WAMIS, 기상청 API의 정보를 통합하여 정확한 수계 관계를 분석합니다.
사용 예시:
주요 기능:
- 3개 API 정보 통합 (홍수통제소, WAMIS, 기상청)
- 표준유역코드 기반 상류/하류 관계 분석
- 수계별 관측소 분포 및 통계
- 관측소 타입별 필터링 (수위, 강우량, 댐, 기상)
- 데이터 소스별 필터링 (hrfco, wamis, weather)
응답 예시:
🚀 배포
GitHub Actions 자동 배포
- GitHub Secrets 설정
HRFCO_API_KEY
: API 키DOCKER_USERNAME
: Docker Hub 사용자명DOCKER_PASSWORD
: Docker Hub 액세스 토큰GLAMA_HOST
: 배포 서버 호스트GLAMA_USERNAME
: SSH 사용자명GLAMA_SSH_KEY
: SSH 개인키
- 자동 배포
- main 브랜치에 push하면 자동 실행
- Docker 이미지 빌드 및 푸시
- Glama 서버에 자동 배포
수동 배포
📊 API 응답 예시
수위 데이터
댐 데이터
강수량 데이터
🔍 문제 해결
API 키 인증 실패
- API 키가 올바르게 설정되었는지 확인
- API 키가 유효한지 확인
MCP 서버 연결 실패
- Claude Desktop 설정 파일 경로 확인
- Python 환경 및 의존성 확인
새로운 기능 테스트
📝 사용 예시
1. 기본 데이터 조회
2. 위험 수위 분석
3. 종합 분석
4. 지역 현황 요약
🆘 지원
문제 해결
API 키 오류:
→ HRFCO_API_KEY
환경변수를 설정하세요.
관측소를 찾을 수 없음:
→ 관측소 코드를 확인하거나 지역명으로 검색해보세요.
hours 파라미터 오류:
→ 최신 버전으로 업데이트하세요. 이 오류는 수정되었습니다.
데이터 제한 문제:
→ hours
파라미터를 사용하여 더 많은 시간 범위를 요청하세요.
지원 채널
- 이슈 리포트: GitHub Issues
- 문서: README.md 참조
- 예제:
test_mcp_enhanced.py
참조
즐거운 수문 데이터 활용하세요! 🌊
This server cannot be installed
Real-time hydrological information retrieval service that provides water level, precipitation, dam discharge data, and observatory location information.
Related MCP Servers
- AsecurityAlicenseAqualityFetches tide information for any location using latitude and longitude, providing detailed tide data including high/low tides and station information with automatic UTC time zone handling.Last updated -112MIT License
- -securityFlicense-qualityProvides access to real-time water data from the USGS Water Services API, allowing users to fetch instantaneous measurements like stream flow, gage height, temperature, and water quality parameters from thousands of monitoring stations across the US.Last updated -2
- AsecurityFlicenseAqualityProvides tools to fetch real-time weather data from the National Weather Service API, allowing users to retrieve weather alerts by state and detailed forecasts by coordinates.Last updated -251
- -securityFlicense-qualityProvides global weather query services with features including real-time weather, weather forecasting, and multi-city weather comparison.Last updated -