seoul-timeavg-air-mcp
⚠️ 이 프로젝트는 fly.io 서비스가 종료되었습니다 (2026-08-22 기준).
seoul-air-quality-mcp통합 서버(서울시 대기환경정보 MCP)로 기능이 흡수되어(get_zonal_hourly_air_quality,get_hourly_air_quality), 이 저장소의 배포된 MCP 서버는 더 이상 응답하지 않습니다. 코드는 참고용으로 보존됩니다. 재배포하려면 아래 "배포" 섹션을 참고하세요.
seoul-timeavg-air-mcp
서울시 기간별 시간평균 대기환경 정보를 조회하는 MCP(Model Context Protocol) 서버입니다. 미세먼지, 초미세먼지, 오존, 이산화질소, 일산화탄소, 아황산가스의 시간평균 데이터를 측정소/권역 단위로 제공합니다.
데이터 출처
제공기관: 서울특별시 기후환경본부 대기정책과
플랫폼: 서울 열린데이터광장 — 서비스ID: OA-221, 서비스명: 서울시 기간별 시간평균 대기환경 정보 (TimeAverageCityAir)
이용허락범위: 공공누리 1유형 (출처표시, 상업적 이용 및 변경 가능)
제공 도구 (Tools)
get_time_average_air
지정한 측정일시(YYYYMMDDHHmm)의 시간평균 대기환경 정보를 조회합니다.
msrmt_dt(필수): 측정일시, YYYYMMDDHHmm 12자리 형식이며 분(mm)은 항상00(예:202401011200). 실측 결과 10자리(YYYYMMDDHH)로는 조회되지 않음.start_index(선택, 기본 1): 조회 시작 위치end_index(선택, 기본 25): 조회 종료 위치 (한 번에 최대 1000건)sarea_nm(선택): 권역명 (예: 도심권, 서북권)msrstn_nm(선택): 측정소명 (예: 종로구, 용산구)
반환 필드: 측정일시, 권역코드/명, 측정소코드/명, 미세먼지 1시간(㎍/㎥), 미세먼지 24시간(㎍/㎥), 초미세먼지(㎍/㎥), 오존(ppm), 이산화질소농도(ppm), 일산화탄소농도(ppm), 아황산가스농도(ppm)
search_stations
측정소명 또는 권역명으로 특정 시점의 대기환경 데이터를 검색합니다.
msrmt_dt(필수)sarea_nm(선택)msrstn_nm(선택)
설치 및 로컬 실행
git clone https://github.com/hlucent/seoul-timeavg-air-mcp.git
cd seoul-timeavg-air-mcp
pip install -r requirements.txt
cp .env.example .env
# .env에 SEOUL_API_KEY=발급받은키 입력
python server.py환경변수
변수명 | 설명 |
| 서울 열린데이터광장에서 발급받은 인증키 |
| 서버 포트 (기본 8000) |
배포 (fly.io)
fly launch --no-deploy
fly secrets set SEOUL_API_KEY=발급받은키
flyctl deploy배포 후 Claude.ai 커넥터 연결 주소:
https://seoul-timeavg-air-mcp.fly.dev/mcp알려진 제약사항
인증키는 쿼리 파라미터가 아니라 URL 경로 세그먼트로 전달됩니다 (
http://openAPI.seoul.go.kr:8088/{KEY}/{TYPE}/TimeAverageCityAir/...).한 번에 조회 가능한 최대 건수는 1000건입니다(
END_INDEX - START_INDEX ≤ 1000, 초과 시ERROR-336). 샘플 키(sample) 사용 시에는 최대 5건입니다(ERROR-335).MSRMT_DT는 12자리(YYYYMMDDHHmm, 분은 항상 00) 만 정상 조회됩니다. 10자리는INFO-200(데이터 없음)이 반환됩니다.선택 파라미터(권역명/측정소명) 조합 실측 결과:
둘 다 생략: 전체 반환
sarea_nm만 지정: 해당 권역으로 정상 필터링msrstn_nm만 지정(권역명 생략): 필터가 무시되고 전체가 반환되는 API 특이 동작 확인. 이 서버는 이 경우를 감지해 응답을 측정소명으로 재필터링하여 반환합니다.둘 다 지정: 정상 필터링(교집합)
HTTPS는 지원되지 않습니다(연결 실패). HTTP(포트 8088)만 사용합니다.
일부 에러 응답(예:
ERROR-335,ERROR-336)은TYPE=json요청에도 XML로 반환됩니다. 이 서버는 JSON 우선 파싱 후 실패 시 XML로 폴백합니다.이 서버는 API 키 없이 누구나 커넥터로 연결할 수 있어, IP 기반 rate limit (분당 3회, 1시간 내 429 5회 이상 시 24시간 차단, 일일 30회 제한)이 적용되어 있습니다.
라이선스
코드: MIT License
데이터: 공공누리 1유형 (출처표시, 서울특별시)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hlucent/seoul-timeavg-air-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server