Skip to main content
Glama
acorn025

Parking Information MCP Server

by acorn025

주차장 정보 조회 MCP 서버

fastMCP를 사용하여 전국 주차장 정보를 조회하는 MCP (Model Context Protocol) 서버입니다.

주요 특징

  • 전국 주차장 검색: 카카오 로컬 API를 통한 전국 주차장 검색

  • 지역별 정보 제공: 서울/경기 지역은 실시간 정보 및 상세 정보 제공

  • 실시간 주차 정보: 서울 지역 실시간 주차 가능 대수 제공

  • 운영 시간 및 요금 정보: 서울/경기 지역 운영 시간 및 요금 정보 제공

  • 사용자 친화적 에러 메시지: 기술적 용어 없이 명확한 안내 메시지

개발 환경 설정 (Windows)

1. Python 가상환경 생성

PowerShell에서 다음 명령어를 실행하세요:

# Python 3.8 이상이 설치되어 있어야 합니다 python --version # 가상환경 생성 python -m venv venv # 가상환경 활성화 .\venv\Scripts\Activate.ps1

참고: PowerShell 실행 정책 오류가 발생하는 경우:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

또는 Command Prompt(cmd)를 사용하는 경우:

venv\Scripts\activate.bat

2. 필요한 라이브러리 설치

가상환경이 활성화된 상태에서:

pip install --upgrade pip pip install -r requirements.txt

3. 환경 변수 설정

.env.example 파일을 참고하여 .env 파일을 생성하세요:

copy .env.example .env

그리고 .env 파일을 열어서 실제 API 키를 입력하세요.

참고: .env.example 파일이 없는 경우 env.example 파일을 참고하세요.

프로젝트 구조

parking-mcp2/ ├── venv/ # 가상환경 (gitignore됨) ├── .env # 환경 변수 (gitignore됨) ├── env.example # 환경 변수 예시 ├── .gitignore ├── requirements.txt # Python 의존성 ├── README.md ├── test_api.py # API 클라이언트 테스트 ├── test_api_call.py # 실제 API 호출 테스트 ├── test_server.py # 서버 구조 테스트 └── src/ # 소스 코드 ├── __init__.py ├── server.py # MCP 서버 메인 파일 └── api_clients/ # API 클라이언트 모듈 ├── __init__.py ├── kakao_local.py # 카카오 로컬 API (주요 검색 API) ├── seoul_data.py # 서울 열린데이터 (서울 실시간 정보) └── gyeonggi_data.py # 경기데이터드림 (경기 실시간 정보)

API 키 발급 방법

1. 카카오 로컬 API 키

  1. 카카오 개발자 콘솔 접속

  2. 애플리케이션 생성

  3. 앱 설정 > 앱 키에서 REST API 키 복사

  4. 제품 설정 > 카카오 로그인 활성화 (필수)

  5. 제품 설정 > 로컬 활성화 (필수)

  6. .env 파일에 KAKAO_REST_API_KEY에 입력

주의: "OPEN_MAP_AND_LOCAL" 서비스가 활성화되어 있어야 합니다.

2. 서울 열린데이터 API 키

  1. 서울 열린데이터 광장 접속

  2. 회원가입 및 로그인

  3. 마이페이지 > 인증키 관리에서 인증키 발급

  4. .env 파일에 SEOUL_DATA_API_KEY에 입력

사용 API:

  • GetParkingInfo: 서울시 공영주차장 실시간 정보

3. 경기데이터드림 API 키

  1. 경기데이터드림 접속

  2. 회원가입 및 로그인

  3. 마이페이지 > 인증키 관리에서 인증키 발급

  4. .env 파일에 GYEONGGI_DATA_API_KEY에 입력

사용 API:

  • ParkingPlace: 경기도 공영주차장 정보

사용 방법

서버 실행

# 가상환경 활성화 .\venv\Scripts\Activate.ps1 # 서버 실행 (모듈로 실행) $env:PYTHONPATH="src"; python -m src.server

MCP 서버 연결

MCP 클라이언트에서 다음과 같이 연결하세요:

{ "mcpServers": { "parking-mcp": { "command": "python", "args": ["-m", "src.server"], "env": { "PYTHONPATH": "src" } } } }

테스트

# API 클라이언트 초기화 테스트 python test_api.py # 실제 API 호출 테스트 (카카오 API) python test_api_call.py # 서버 구조 테스트 python test_server.py

주요 기능

제공하는 Tool 함수

  1. search_nearby_parking

    • 주변 주차장 검색 (카카오 로컬 API 사용)

    • 좌표 기반 검색 (위도, 경도, 반경)

    • 지역별 정보 자동 추가 (서울/경기/기타)

    파라미터:

    • latitude: 위도 (필수)

    • longitude: 경도 (필수)

    • radius: 검색 반경 미터 (기본값: 1000)

  2. get_parking_info

    • 특정 주차장 상세 정보 조회

    • 주차장 이름 또는 주소로 검색

    • 지역별 실시간 정보 자동 추가

    파라미터:

    • parking_id: 주차장 이름 또는 주소 (필수)

지역별 제공 정보

정보

서울

경기

기타

기본 정보 (이름, 주소)

총 주차 대수

실시간 주차 가능 대수

운영 시간

요금 정보

업데이트 시간

서울 지역:

  • 실시간 주차 가능 대수 제공

  • 상세 운영 시간 (평일/주말/공휴일)

  • 상세 요금 정보 (기본 요금, 추가 요금, 일일 최대 요금 등)

  • 실시간 정보 업데이트 시간

경기 지역:

  • 총 주차 대수 제공

  • 운영 시간 (평일/토요일/공휴일)

  • 요금 정보 (기본 요금, 추가 요금, 결제 방법)

기타 지역:

  • 기본 주차장 정보만 제공 (이름, 주소, 카테고리)

  • 안내 메시지 표시

지원하는 API

  • 카카오 로컬 API: 전국 주차장 검색 및 주소 변환 (주요 검색 API)

  • 서울 열린데이터: 서울시 실시간 주차 정보 (서울 지역 실시간 정보 추가)

  • 경기데이터드림: 경기도 실시간 주차 정보 (경기 지역 실시간 정보 추가)

사용 예시

예시 1: 서울 지역 주차장 검색

# search_nearby_parking 호출 { "latitude": 37.5665, "longitude": 126.9780, "radius": 1000 } # 응답 예시 { "parkings": [ { "name": "서울시청 주차장", "address": "서울 중구 세종대로 110", "total_spots": 1260, "available_spots": 507, "fee": "교통,지하철 > 지하철역 > 주차장", "distance": 62, "operating_info": { "operating_type": "시간제 운영", "weekday_start": "0000", "weekday_end": "2400", ... }, "fee_info": { "is_paid": "유료", "basic_fee": 430.0, "basic_hours": 5.0, ... }, "update_time": "2025-12-10 10:24:30" } ], "count": 1 }

예시 2: 경기 지역 주차장 검색

# search_nearby_parking 호출 { "latitude": 37.2892, "longitude": 127.0086, "radius": 1000 } # 응답 예시 { "parkings": [ { "name": "화성행궁", "address": "경기도 수원시 팔달구 화성행궁 159", "total_spots": 62, "available_spots": null, "fee": "교통,지하철 > 지하철역 > 주차장", "distance": 0, "operating_info": { "weekday_start": "00:00", "weekday_end": "23:59", ... }, "fee_info": { "is_paid": "유료", "basic_time": 90, "basic_fee": 400, ... } } ], "count": 1 }

예시 3: 기타 지역 주차장 검색

# search_nearby_parking 호출 { "latitude": 35.1631, "longitude": 129.1636, "radius": 1000 } # 응답 예시 { "notice": "해당 지역은 기본 주차장 정보만 제공됩니다. 실시간 정보는 서울 지역에서, 요금 및 운영시간 정보는 서울/경기 지역에서 이용 가능합니다.", "parkings": [ { "name": "해운대역 주차장", "address": "부산 해운대구 우동 1378-95", "total_spots": null, "available_spots": null, "fee": "교통,지하철 > 지하철역 > 주차장", "distance": 0 } ], "count": 1 }

에러 응답 예시

{ "error": "주차장 정보를 불러오는 중 오류가 발생했습니다. 잠시 후 다시 시도해주세요.", "parkings": [] }

상세한 응답 형식은 MCP_RESPONSE_FORMAT.md를 참고하세요.

의존성

  • fastmcp: MCP 서버 프레임워크

  • requests: HTTP API 호출

  • python-dotenv: 환경 변수 관리

-
security - not tested
F
license - not found
-
quality - not tested

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