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

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

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