Integrations
Supports debugging via the MCP Inspector which can be launched using npm to monitor and troubleshoot the MCP server communications.
Provides geospatial tools for interacting with OpenStreetMap data, including geocoding, reverse geocoding, finding nearby points of interest, route directions, location search by category, meeting point optimization, area exploration, and neighborhood analysis.
Enables publishing and distribution of the MCP server package through PyPI, allowing users to easily install the server.
OpenStreetMap(OSM) MCP 서버
위치 기반 서비스와 지리공간 데이터를 통해 LLM 기능을 강화하는 OpenStreetMap MCP 서버 구현입니다.
데모
미팅 포인트 최적화
이웃 분석
주차 검색
특징
이 서버는 LLM에 OpenStreetMap 데이터와 상호 작용할 수 있는 도구를 제공하여 위치 기반 애플리케이션이 다음을 수행할 수 있도록 합니다.
- 주소와 장소 이름을 좌표로 지오코딩
- 주소에 대한 역 지오코딩 좌표
- 근처 관심 지점 찾기
- 위치 간 경로 안내 받기
- 경계 상자 내에서 범주별로 장소 검색
- 여러 사람이 모이는 최적의 만남 장소를 제안합니다.
- 지역을 탐색하고 포괄적인 위치 정보를 얻으세요
- 지역 근처의 학교 및 교육 기관 찾기
- 집과 직장 사이의 통근 옵션을 분석하세요
- 커넥터와 전원 필터링이 있는 EV 충전소 찾기
- 부동산에 대한 동네 거주성 분석 수행
- 주차 시설의 이용 가능 여부와 요금 정보를 확인하세요
구성 요소
자원
서버는 위치 기반 리소스를 구현합니다.
location://place/{query}
: 이름이나 주소로 장소에 대한 정보를 가져옵니다.location://map/{style}/{z}/{x}/{y}
: 지정된 좌표에서 스타일이 적용된 지도 타일을 가져옵니다.
도구
서버는 여러 가지 지리공간 도구를 구현합니다.
geocode_address
: 텍스트를 지리적 좌표로 변환reverse_geocode
: 좌표를 사람이 읽을 수 있는 주소로 변환합니다.find_nearby_places
: 위치 근처의 관심 지점을 찾아보세요get_route_directions
: 위치 간 단계별 길찾기 안내search_category
: 특정 지역의 특정 카테고리 장소 찾기suggest_meeting_point
: 여러 사람이 모이는 최적의 만남 장소를 찾아보세요explore_area
: 동네에 대한 포괄적인 데이터를 얻으세요find_schools_nearby
: 특정 위치 근처의 교육 기관 찾기analyze_commute
: 집과 직장 사이의 교통 옵션을 비교합니다.find_ev_charging_stations
: 필터링을 통해 EV 충전 인프라 찾기analyze_neighborhood
: 부동산의 동네 거주 적합성 평가find_parking_facilities
: 목적지 근처의 주차 옵션을 찾습니다.
사용 사례
부동산 의사결정
LLM은 사용자가 주택 구매를 위한 잠재적인 동네를 평가하는 데 도움이 될 수 있습니다.
로컬 테스트
서버 실행
서버를 로컬로 실행하려면:
- 개발 모드에서 패키지를 설치하세요:
지엑스피1
- 서버를 시작합니다:
- 서버가 시작되어 표준 입출력에서 MCP 요청을 수신합니다.
예제 클라이언트로 테스트
저장소에는 examples/
디렉토리에 두 개의 예제 클라이언트가 포함되어 있습니다.
기본 클라이언트 예제
client.py
OSM MCP 서버의 기본적인 사용법을 보여줍니다.
이렇게 하면:
- 로컬로 실행 중인 서버에 연결
- 샌프란시스코에 대한 정보를 얻으세요
- 해당 지역의 레스토랑 검색
- 진행 상황 추적을 통해 포괄적인 지도 데이터 검색
LLM 통합 예제
llm_client.py
LLM 통합을 위해 설계된 도우미 클래스를 제공합니다.
이 예에서는 LLM이 위치 어시스턴트를 사용하여 다음을 수행하는 방법을 보여줍니다.
- 텍스트 쿼리에서 위치 정보 가져오기
- 근처 관심 지점 찾기
- 위치 간 길찾기
- 최적의 미팅 장소를 찾으세요
- 동네를 탐험하세요
자신의 클라이언트 작성
나만의 클라이언트를 만들려면:
- MCP 클라이언트 가져오기:
- 서버 URL로 클라이언트를 초기화합니다.
- 도구 호출 또는 리소스 액세스:
구성
설치하다
클로드 데스크탑
MacOS의 경우: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows의 경우: %APPDATA%/Claude/claude_desktop_config.json
개발
건축 및 출판
배포를 위해 패키지를 준비하려면:
- 종속성 동기화 및 잠금 파일 업데이트:
- 패키지 배포 빌드:
이렇게 하면 dist/
디렉토리에 소스와 휠 배포판이 생성됩니다.
- PyPI에 게시:
참고: 환경 변수나 명령 플래그를 통해 PyPI 자격 증명을 설정해야 합니다.
디버깅
MCP 서버는 stdio를 통해 실행되므로 디버깅이 어려울 수 있습니다. 최상의 디버깅 환경을 위해서는 MCP Inspector 사용을 강력히 권장합니다.
다음 명령을 사용하여 npm
통해 MCP Inspector를 시작할 수 있습니다.
Inspector를 실행하면 브라우저에서 접근하여 디버깅을 시작할 수 있는 URL이 표시됩니다.
API 사용 예시
다음은 Python 코드에서 주요 API 엔드포인트를 사용하는 방법에 대한 간단한 예입니다.
This server cannot be installed
위치 기반 서비스와 지리공간 데이터를 통해 LLM 기능을 향상시켜 사용자가 주소를 지리 좌표로 지정하고, 근처 관심 지점을 찾고, 길을 찾고, 회의 장소를 최적화하고, 동네를 분석할 수 있도록 합니다.