Skip to main content
Glama
acorn025

Parking Information MCP Server

by acorn025
test_api_fields.py5.1 kB
""" 서울/경기 API 필드 상세 확인 운영정보 및 요금 정보 확인 """ import sys import os import requests import json sys.path.insert(0, 'src') from dotenv import load_dotenv load_dotenv() def test_seoul_fields(): """서울 API 필드 상세 확인""" print("=" * 70) print("서울 열린데이터 API 필드 확인") print("=" * 70) api_key = os.getenv("SEOUL_DATA_API_KEY") base_url = "http://openapi.seoul.go.kr:8088" endpoint = f"/{api_key}/json/GetParkingInfo/1/3" url = base_url + endpoint try: response = requests.get(url, timeout=10) data = response.json() parking_info = data.get("GetParkingInfo", {}) row = parking_info.get("row", []) if row: first = row[0] print(f"\n[주차장 정보]") print(f"이름: {first.get('PKLT_NM')}") print(f"주소: {first.get('ADDR')}") print(f"\n[운영 정보]") print(f"운영 상태: {first.get('PRK_STTS_NM', 'N/A')}") print(f"운영 구분: {first.get('OPER_SE_NM', 'N/A')}") print(f"평일 운영 시작: {first.get('WD_OPER_BGNG_TM', 'N/A')}") print(f"평일 운영 종료: {first.get('WD_OPER_END_TM', 'N/A')}") print(f"주말 운영 시작: {first.get('WE_OPER_BGNG_TM', 'N/A')}") print(f"주말 운영 종료: {first.get('WE_OPER_END_TM', 'N/A')}") print(f"공휴일 운영 시작: {first.get('LHLDY_OPER_BGNG_TM', 'N/A')}") print(f"공휴일 운영 종료: {first.get('LHLDY_OPER_END_TM', 'N/A')}") print(f"\n[요금 정보]") print(f"유료 여부: {first.get('PAY_YN_NM', 'N/A')}") print(f"야간 유료 여부: {first.get('NGHT_PAY_YN_NM', 'N/A')}") print(f"기본 주차 요금: {first.get('BSC_PRK_CRG', 'N/A')}원") print(f"기본 주차 시간: {first.get('BSC_PRK_HR', 'N/A')}분") print(f"추가 주차 요금: {first.get('ADD_PRK_CRG', 'N/A')}원") print(f"추가 주차 시간: {first.get('ADD_PRK_HR', 'N/A')}분") print(f"일일 최대 요금: {first.get('DAY_MAX_CRG', 'N/A')}원") print(f"기간 요금: {first.get('PRD_AMT', 'N/A')}원") print(f"\n[전체 필드 목록]") for key, value in first.items(): if value and value != "*" and value != "": print(f" {key}: {value}") except Exception as e: print(f"오류: {str(e)}") import traceback traceback.print_exc() def test_gyeonggi_fields(): """경기 API 필드 상세 확인""" print("\n" + "=" * 70) print("경기데이터드림 API 필드 확인") print("=" * 70) api_key = os.getenv("GYEONGGI_DATA_API_KEY") base_url = "https://openapi.gg.go.kr" endpoint = "/Parking" url = base_url + endpoint params = { "KEY": api_key, "Type": "json", "pIndex": 1, "pSize": 3, } try: response = requests.get(url, params=params, timeout=10) data = response.json() print(f"\n[응답 구조]") print(f"키: {list(data.keys())}") result = data.get("RESULT", {}) if result.get("CODE") != "INFO-000": print(f"\n[에러] {result.get('MESSAGE', 'N/A')}") print(f"서비스를 찾을 수 없습니다. 다른 엔드포인트를 시도합니다...") # 다른 엔드포인트 시도 alternative_endpoints = [ "/ParkingLot", "/ParkingInfo", "/ParkingFacility", ] for alt_endpoint in alternative_endpoints: alt_url = base_url + alt_endpoint alt_response = requests.get(alt_url, params=params, timeout=5) alt_data = alt_response.json() alt_result = alt_data.get("RESULT", {}) if alt_result.get("CODE") == "INFO-000": print(f"\n[성공] {alt_endpoint} 엔드포인트가 작동합니다!") data = alt_data break else: print(f"[실패] {alt_endpoint}: {alt_result.get('MESSAGE', 'N/A')}") else: parking = data.get("Parking", {}) if parking: row = parking.get("row", []) if row: first = row[0] print(f"\n[주차장 정보]") print(f"전체 필드:") for key, value in first.items(): if value: print(f" {key}: {value}") except Exception as e: print(f"오류: {str(e)}") import traceback traceback.print_exc() if __name__ == "__main__": test_seoul_fields() test_gyeonggi_fields() print("\n" + "=" * 70)

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/acorn025/parking-mcp2'

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