Skip to main content
Glama
hlucent

Seoul Air Emission Facility MCP

by hlucent

서울시 대기오염물질배출시설설치사업장 인허가 정보 MCP

Claude와 대화하며 서울시의 대기 배출시설 인허가 정보를 직접 조회할 수 있는 MCP 서버입니다.

데이터 출처: 서울특별시 기후환경본부 대기정책과
라이선스: 공공누리 1유형 (저작권 표시 필수)
데이터 신선도: 3일 지연 (매일 자동 갱신)


주요 기능

🔍 도구 1: search_emission_facilities

대기오염물질 배출시설을 페이징 조회합니다.

사용 예:
  - 처음 100건 조회: start_index=1, end_index=100
  - 다음 페이지: start_index=101, end_index=200
  - 필드 선택 반환: include_fields='BPLC_NM,ROAD_NM_ADDR,SALS_STTS_NM'

반환 정보:

  • 사업장명, 주소(지번/도로명), 전화번호

  • 영업상태(영업/폐업/휴업), 인허가일자

  • 업태/업종/종별, 환경업무구분

  • 배출시설 조업시간, 연간 가동일수

  • 좌표(중부원점TM 기준)

제한사항:

  • 최대 1000건 차이까지 조회 가능

  • 샘플 키: 최대 5건만 조회 가능

📋 도구 2: get_facility_info

관리번호로 시설 상세정보를 조회합니다.

사용 예:
  management_number='11110000010000001'

반환 정보:

  • get_facility_info 도구로 조회한 시설의 전체 34개 필드

📊 도구 3: list_facility_statuses

영업상태별 시설 현황을 조회합니다 (표본 최대 100건 기반 추정치).

⚠️ 확인 필요: SALS_STTS_CD의 코드-이름 매핑이 원 명세서(01=폐업,02=휴업,03=영업,04=소재불명)와 실측 결과(01=영업, 04=폐쇄 확인됨)가 다릅니다. 정확한 전체 코드표는 미확인 상태이며, 이 도구는 SALS_STTS_NM 문자열 값을 그대로 집계해 반환합니다.


Related MCP server: Open Data MCP

좌표계 주의사항 ⚠️

이 MCP의 좌표는 위경도(위도/경도)가 아닙니다!

  • 좌표 체계: 중부원점TM (EPSG:5174)

  • 필드명: XCRD (X좌표), YCRD (Y좌표)

  • 변환 필요: 위경도 지도에 표시하려면 좌표계 변환 필요

    • 예: 카카오맵 API의 좌표계 변환 도구 활용

    • 예: 서울시 GIS 포탈의 좌표 변환 서비스 활용


설치 및 배포

필수 조건

  • Python 3.11+

  • 서울 열린데이터광장 인증키 (무료 발급)

로컬 실행

# 1. 의존성 설치
pip install -r requirements.txt

# 2. 환경변수 설정
echo "SEOUL_AIR_EMISSION_API_KEY=<발급받은키>" > .env

# 3. 서버 실행
python server.py
# 서버가 http://localhost:8000 에서 시작합니다

fly.io 배포

# 1. fly 프로젝트 초기화
fly launch --no-deploy

# 2. API 키 설정
fly secrets set SEOUL_AIR_EMISSION_API_KEY=<발급받은키>

# 3. 배포
flyctl deploy

# 4. Claude.ai에 커넥터 등록
# 설정 > 커넥터에서 아래 주소로 연결:
# https://air-emission-facility-mcp.fly.dev/mcp

API 응답 예시

search_emission_facilities (처음 1건)

{
  "count": 1,
  "result": [
    {
      "MNG_NO": "11110000010000001",
      "BPLC_NM": "서울시 대기환경과 시험시설",
      "LCPMT_YMD": "20200716",
      "SALS_STTS_NM": "영업",
      "ROAD_NM_ADDR": "서울특별시 강남구 테헤란로 123",
      "LCTN_ZIP": "06000",
      "TELNO": "02-2133-4290",
      "BZSTAT_SE_NM": "제조업",
      "XCRD": 960123.45,
      "YCRD": 1950678.90,
      "EMS_FCLT_OPER_HRM": 24,
      "EMS_FCLT_ANL_OPRTNG_DCNT": 365
    }
  ],
  "note": "본 데이터는 3일 지연 데이터입니다. 좌표는 위경도가 아닌 중부원점TM(EPSG:5174) 좌표입니다."
}

get_facility_info (상세)

{
  "found": true,
  "facility": {
    "MNG_NO": "11110000010000001",
    "OGDP_INST_CD": "11",
    "BPLC_NM": "서울시 대기환경과 시험시설",
    "LCPMT_YMD": "20200716",
    "SALS_STTS_CD": "03",
    "SALS_STTS_NM": "영업",
    "DTL_SALS_STTS_CD": "0301",
    "DTL_SALS_STTS_NM": "정상영업",
    ... (전체 34개 필드)
  }
}

list_facility_statuses (실측 응답 구조)

{
  "query_timestamp": "2026-08-17T12:34:56+00:00",
  "data_recency": "3일 지연",
  "statuses": {
    "영업": 62,
    "폐쇄": 38
  },
  "sample_size": 100,
  "total_available": 5571,
  "note": "상태별 집계는 표본(최대 100건) 기반 추정치입니다. 정확한 수치는 search_emission_facilities로 확인하세요."
}

에러 처리

API 레벨 에러

코드

의미

해결책

INFO-100

인증키 오류

API 키 재확인, 재발급

ERROR-300

필수값 누락

파라미터 입력값 확인

ERROR-336

1000건 초과

end_index - start_index ≤ 1000 조정

ERROR-500

서버 오류

잠시 후 재시도

Rate Limit (공개 배포 시)

  • 분당: 3회 요청 (초과 시 429 응답)

  • 위반 누적: 1시간 내 5회 이상 위반 시 IP 24시간 차단

  • 일일: 30회 요청 한도

정상적인 Claude 사용 시에는 이 제한에 걸리지 않습니다.


필드 설명 (34개)

필드

타입

설명

단위

MNG_NO

STRING

시설 고유 관리번호

-

BPLC_NM

STRING

사업장명

-

LCPMT_YMD

STRING

인허가일자

YYYY-MM-DD (실측: 하이픈 포함)

SALS_STTS_NM

STRING

영업상태

실측 확인: "영업", "폐쇄" 등 (전체 코드표 확인 필요)

ROAD_NM_ADDR

STRING

도로명주소

-

XCRD

STRING

X좌표 (중부원점TM)

문자열, 뒤 공백 포함 (실측 확인)

YCRD

STRING

Y좌표 (중부원점TM)

문자열, 뒤 공백 포함 (실측 확인)

EMS_FCLT_OPER_HRM

STRING

배출시설 조업시간

시간/일 (문자열로 반환)

EMS_FCLT_ANL_OPRTNG_DCNT

STRING

배출시설 연간 가동일수

일 (문자열로 반환)

CTGRY_NM

STRING

배출시설 종별

-

...

...

(외 필드, 실측 시 총 30개 확인. 명세서 34개와 차이 있음)

...

⚠️ 실측 결과 값 없는 날짜/우편번호 필드는 공백 문자열(예: " ")로 채워져 반환됩니다 (null이 아님).


사용 사례

예 1: 특정 지역의 배출시설 현황 파악

Claude: "강남구의 대기배출시설 현황을 조회해줄래?"

1단계: search_emission_facilities로 초기 100건 조회
2단계: 응답에서 강남구(지번주소 포함) 필터링
3단계: 영업상태별 집계

예 2: 특정 사업장의 상세정보 확인

Claude: "관리번호 11110000010000001의 시설 정보를 알려줄래?"

도구: get_facility_info(management_number='11110000010000001')

예 3: 시간 추이 분석

Claude: "지난 3개월간 신규 허가된 배출시설이 얼마나 되나?"

1단계: search_emission_facilities로 페이징 조회
2단계: LCPMT_YMD (인허가일자) 필터링
3단계: 시간별 집계

저작권 및 라이선스

공공누리 1유형 (저작권 표시)

본 데이터의 저작권자는 서울특별시입니다.
이 MCP로 조회한 데이터를 2차 가공하거나 공개할 때는 다음을 포함해야 합니다:

저작권자: 서울특별시 기후환경본부 대기정책과
제공처: 서울 열린데이터광장
데이터명: 서울시 대기오염물질배출시설설치사업장 인허가 정보
라이선스: 공공누리 1유형

제한사항 및 주의사항

  1. 3일 지연 데이터: 오늘의 새로운 허가 정보는 포함되지 않습니다.

  2. 위경도 미제공: 지도 앱에 표시하려면 좌표계 변환이 필요합니다.

  3. 최대 1000건: 한 번에 최대 1000건까지만 조회 가능합니다 (페이징 필수).

  4. API 키 보안: 인증키는 공개하지 마세요. fly.io 배포 시 secrets으로 관리됩니다.


문의 및 지원

  • 데이터 오류 / 서비스 문의: 서울특별시 기후환경본부 대기정책과 (02-2133-4290)

  • API 플랫폼 문제: 서울 열린데이터광장 (https://data.seoul.go.kr/)

  • MCP 개발 피드백: GitHub Issues (프로젝트 저장소)


변경 이력

  • v1.0 (2026-08-17): 초기 배포

    • 3개 도구 (search_emission_facilities, get_facility_info, list_facility_statuses)

    • rate limit 3단계 (분당/위반누적/일일)

    • 중부원점TM 좌표 제공


관련 MCP

이 MCP와 함께 사용하면 좋은 다른 서울 대기환경 MCP:

  • 서울시 실시간 대기환경 현황: 측정소별 실시간 오염도 데이터

  • 서울시 실시간 자치구별 대기환경 현황: 구별 평균 오염도

  • 서울시 대기환경 정보: 역사 추이, 예보 등

함께 활용하면 배출시설 정보(정적) + 측정치(동적)를 연결한 분석이 가능합니다.


Made with FastMCP & Claude
Licensed under Public Cloud 1.0 (Source Attribution Required)

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Enables access to Korean public data services through OpenAPI integration. Supports querying government datasets like parking information in Sejong City through natural language interactions.
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Enables exploration and interaction with South Korea's Public Data Portal (OpenAPI) through keyword search, standard documentation retrieval, and direct API endpoint calls with automatic service key injection.
    11
    Apache 2.0
  • A
    license
    -
    quality
    A
    maintenance
    Enables natural language access to 11 Korean building data tools including building registers, permits, comprehensive profiles with zoning, floor composition, district statistics, old building analysis, price history, demolitions, and permit pipeline.
    60
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/air-emission-facility-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server