GIS MCP 서버
GIS 라이브러리(현재 Shapely 및 PyProj 지원)를 사용하여 대규모 언어 모델(LLM)을 GIS 작업에 연결하는 모델 컨텍스트 프로토콜(MCP) 서버 구현으로, AI 도우미가 공간 작업과 변환을 수행할 수 있습니다.
알파
버전 0.2.0(알파)이 현재 활발하게 개발 중입니다. 이 프로젝트 구축에 기여해 주실 개발자분들과 여러분의 참여를 환영합니다.
🎥 데모
Related MCP server: Math-MCP
📋 목차
🚀 특징
🔍 포괄적인 기하 연산(교집합, 합집합, 버퍼 등)
🌐 고급 좌표 변환 및 투영
📏 정확한 거리 및 면적 계산
🗺️ 공간 분석 및 검증
🛠️ MCP 호환 클라이언트와의 간편한 통합
📋 필수 조건
Python 3.10 이상
MCP 호환 클라이언트(Claude Desktop 또는 Cursor 등)
패키지 설치를 위한 인터넷 연결
🛠️ 설치
귀하의 요구 사항에 가장 적합한 설치 방법을 선택하세요.
📦 pip 설치
대부분의 사용자에게 pip 설치가 권장됩니다.
uv 패키지 관리자를 설치하세요:
지엑스피1
가상 환경 만들기(Python 3.10+):
패키지를 설치하세요:
서버를 시작합니다:
pip 구성
Claude 또는 Cursor와 함께 pip 설치를 사용하려면 다음 구성을 추가하세요.
클로드 데스크탑:
윈도우:
리눅스/맥:
커서 IDE ( .cursor/mcp.json 생성):
윈도우:
리눅스/맥:
구성 후:
YourUsername실제 사용자 이름으로 바꿔야 합니다.개발 설치의 경우
/path/to/gis-mcp프로젝트의 실제 경로로 바꾸십시오.변경 사항을 적용하려면 IDE를 다시 시작하세요.
이제 Claude나 Cursor를 통해 모든 GIS 작업을 사용할 수 있습니다!
🛠️ 개발 설치
기여자 및 개발자를 위한 정보:
uv 패키지 관리자를 설치하세요:
가상 환경 만들기:
개발 모드에서 패키지를 설치하세요:
서버를 시작합니다:
개발 구성
Claude 또는 Cursor와 함께 개발 설치를 사용하려면 다음 구성을 추가하세요.
클로드 데스크탑:
윈도우:
리눅스/맥:
커서 IDE ( .cursor/mcp.json 생성):
윈도우:
리눅스/맥:
구성 후:
YourUsername실제 사용자 이름으로 바꿔야 합니다.개발 설치의 경우
/path/to/gis-mcp프로젝트의 실제 경로로 바꾸십시오.변경 사항을 적용하려면 IDE를 다시 시작하세요.
이제 Claude나 Cursor를 통해 모든 GIS 작업을 사용할 수 있습니다!
🛠️ 사용 가능한 도구
Shapely Operations
기본 작업
도구 | 설명 |
| 사용자 정의 가능한 매개변수를 사용하여 형상 주변에 버퍼를 만듭니다. |
| 두 기하학의 교집합 찾기 |
| 두 개의 기하학을 결합합니다 |
| 기하학의 차이점을 찾으세요 |
| 기하학 사이의 대칭적 차이점을 찾으세요 |
기하학적 속성
도구 | 설명 |
| 기하학의 볼록 껍질 계산 |
| 기하학의 경계 상자 가져오기 |
| 기하학의 최소 회전된 사각형을 구합니다. |
| 기하학의 중심을 구하다 |
| 기하학의 경계를 구하다 |
| 기하학의 좌표를 얻으세요 |
| 기하학의 유형을 가져옵니다 |
변형
도구 | 설명 |
| 지정된 각도와 원점으로 기하학을 회전합니다. |
| x 및 y 요소로 기하학 크기 조정 |
| x, y, z 오프셋으로 기하학 변환 |
고급 작업
도구 | 설명 |
| 기하학의 삼각형을 만듭니다 |
| 점에서 보로노이 다이어그램을 만듭니다. |
| 여러 개의 기하학의 합집합을 만듭니다. |
측정
도구 | 설명 |
| 기하학의 길이를 구하세요 |
| 기하학의 면적을 구하다 |
검증 및 단순화
도구 | 설명 |
| 지오메트리가 유효한지 확인하세요 |
| 기하학을 유효하게 만드세요 |
| 지정된 허용오차로 기하학을 단순화합니다. |
PyProj 작업
좌표 변환
도구 | 설명 |
| CRS 간 좌표 변환 |
| CRS 사이에 기하학을 투영합니다. |
CRS 정보
도구 | 설명 |
| CRS에 대한 자세한 정보를 얻으세요 |
| 사용 가능한 모든 CRS 목록 가져오기 |
| 주어진 좌표에 대한 UTM 영역 가져오기 |
| 주어진 좌표에 대한 UTM CRS 가져오기 |
| 주어진 좌표에 대한 지구 중심 CRS 가져오기 |
측지 계산
도구 | 설명 |
| 측지 계산에 대한 정보를 얻으세요 |
| 지점 간 측지 거리 계산 |
| 주어진 거리와 방위각에서 지점을 계산합니다. |
| 측지 계산을 사용하여 다각형의 면적 계산 |
🛠️ 클라이언트 개발
도구 사용 예:
버퍼 작업
좌표 변환
측지 거리
🔮 계획된 기능
더 많은 GIS 라이브러리(GDAL/OGR)에 대한 지원 추가
고급 공간 인덱싱 구현
래스터 작업에 대한 지원 추가
네트워크 분석 기능 구현
3D 기하학에 대한 지원 추가
성능 최적화 구현
🤝 기여하기
여러분의 참여를 환영합니다! 다음과 같은 방법으로 도움을 주세요.
저장소를 포크하세요
기능 브랜치를 생성합니다(
git checkout -b feature/AmazingFeature)변경 사항을 커밋합니다(
git commit -m 'Add some AmazingFeature')브랜치에 푸시(
git push origin feature/AmazingFeature)풀 리퀘스트 열기
PR 설명에 문제와 해결책을 명확하게 설명해 주세요. 해당되는 경우 관련 이슈 번호를 포함하세요.
📄 라이센스
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
🔗 관련 프로젝트
모델 컨텍스트 프로토콜 - 핵심 MCP 구현
Shapely - 기하학적 객체의 조작 및 분석을 위한 Python 패키지
PyProj - PROJ 라이브러리에 대한 Python 인터페이스
📞 지원
지원이 필요하면 GitHub 저장소에서 이슈를 열어주세요.