Skip to main content
Glama

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 설치가 권장됩니다.

  1. uv 패키지 관리자를 설치하세요:

지엑스피1

  1. 가상 환경 만들기(Python 3.10+):

uv venv --python=3.10
  1. 패키지를 설치하세요:

uv pip install gis-mcp
  1. 서버를 시작합니다:

gis-mcp

pip 구성

Claude 또는 Cursor와 함께 pip 설치를 사용하려면 다음 구성을 추가하세요.

클로드 데스크탑:

윈도우:

{ "mcpServers": { "gis-mcp": { "command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp", "args": [] } } }

리눅스/맥:

{ "mcpServers": { "gis-mcp": { "command": "/home/YourUsername/.venv/bin/gis-mcp", "args": [] } } }

커서 IDE ( .cursor/mcp.json 생성):

윈도우:

{ "mcpServers": { "gis-mcp": { "command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp", "args": [] } } }

리눅스/맥:

{ "mcpServers": { "gis-mcp": { "command": "/home/YourUsername/.venv/bin/gis-mcp", "args": [] } } }

구성 후:

  1. YourUsername 실제 사용자 이름으로 바꿔야 합니다.

  2. 개발 설치의 경우 /path/to/gis-mcp 프로젝트의 실제 경로로 바꾸십시오.

  3. 변경 사항을 적용하려면 IDE를 다시 시작하세요.

  4. 이제 Claude나 Cursor를 통해 모든 GIS 작업을 사용할 수 있습니다!

🛠️ 개발 설치

기여자 및 개발자를 위한 정보:

  1. uv 패키지 관리자를 설치하세요:

pip install uv
  1. 가상 환경 만들기:

uv venv --python=3.10
  1. 개발 모드에서 패키지를 설치하세요:

uv pip install -e .
  1. 서버를 시작합니다:

python -m gis_mcp

개발 구성

Claude 또는 Cursor와 함께 개발 설치를 사용하려면 다음 구성을 추가하세요.

클로드 데스크탑:

윈도우:

{ "mcpServers": { "gis-mcp": { "command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python", "args": ["-m", "gis_mcp"] } } }

리눅스/맥:

{ "mcpServers": { "gis-mcp": { "command": "/path/to/gis-mcp/.venv/bin/python", "args": ["-m", "gis_mcp"] } } }

커서 IDE ( .cursor/mcp.json 생성):

윈도우:

{ "mcpServers": { "gis-mcp": { "command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python", "args": ["-m", "gis_mcp"] } } }

리눅스/맥:

{ "mcpServers": { "gis-mcp": { "command": "/path/to/gis-mcp/.venv/bin/python", "args": ["-m", "gis_mcp"] } } }

구성 후:

  1. YourUsername 실제 사용자 이름으로 바꿔야 합니다.

  2. 개발 설치의 경우 /path/to/gis-mcp 프로젝트의 실제 경로로 바꾸십시오.

  3. 변경 사항을 적용하려면 IDE를 다시 시작하세요.

  4. 이제 Claude나 Cursor를 통해 모든 GIS 작업을 사용할 수 있습니다!

🛠️ 사용 가능한 도구

Shapely Operations

기본 작업

도구

설명

buffer

사용자 정의 가능한 매개변수를 사용하여 형상 주변에 버퍼를 만듭니다.

intersection

두 기하학의 교집합 찾기

union

두 개의 기하학을 결합합니다

difference

기하학의 차이점을 찾으세요

symmetric_difference

기하학 사이의 대칭적 차이점을 찾으세요

기하학적 속성

도구

설명

convex_hull

기하학의 볼록 껍질 계산

envelope

기하학의 경계 상자 가져오기

minimum_rotated_rectangle

기하학의 최소 회전된 사각형을 구합니다.

get_centroid

기하학의 중심을 구하다

get_bounds

기하학의 경계를 구하다

get_coordinates

기하학의 좌표를 얻으세요

get_geometry_type

기하학의 유형을 가져옵니다

변형

도구

설명

rotate_geometry

지정된 각도와 원점으로 기하학을 회전합니다.

scale_geometry

x 및 y 요소로 기하학 크기 조정

translate_geometry

x, y, z 오프셋으로 기하학 변환

고급 작업

도구

설명

triangulate_geometry

기하학의 삼각형을 만듭니다

voronoi

점에서 보로노이 다이어그램을 만듭니다.

unary_union_geometries

여러 개의 기하학의 합집합을 만듭니다.

측정

도구

설명

get_length

기하학의 길이를 구하세요

get_area

기하학의 면적을 구하다

검증 및 단순화

도구

설명

is_valid

지오메트리가 유효한지 확인하세요

make_valid

기하학을 유효하게 만드세요

simplify

지정된 허용오차로 기하학을 단순화합니다.

PyProj 작업

좌표 변환

도구

설명

transform_coordinates

CRS 간 좌표 변환

project_geometry

CRS 사이에 기하학을 투영합니다.

CRS 정보

도구

설명

get_crs_info

CRS에 대한 자세한 정보를 얻으세요

get_available_crs

사용 가능한 모든 CRS 목록 가져오기

get_utm_zone

주어진 좌표에 대한 UTM 영역 가져오기

get_utm_crs

주어진 좌표에 대한 UTM CRS 가져오기

get_geocentric_crs

주어진 좌표에 대한 지구 중심 CRS 가져오기

측지 계산

도구

설명

get_geod_info

측지 계산에 대한 정보를 얻으세요

calculate_geodetic_distance

지점 간 측지 거리 계산

calculate_geodetic_point

주어진 거리와 방위각에서 지점을 계산합니다.

calculate_geodetic_area

측지 계산을 사용하여 다각형의 면적 계산

🛠️ 클라이언트 개발

도구 사용 예:

버퍼 작업

Tool: buffer Parameters: { "geometry": "POINT(0 0)", "distance": 10, "resolution": 16, "join_style": 1, "mitre_limit": 5.0, "single_sided": false }

좌표 변환

Tool: transform_coordinates Parameters: { "coordinates": [0, 0], "source_crs": "EPSG:4326", "target_crs": "EPSG:3857" }

측지 거리

Tool: calculate_geodetic_distance Parameters: { "point1": [0, 0], "point2": [10, 10], "ellps": "WGS84" }

🔮 계획된 기능

  • 더 많은 GIS 라이브러리(GDAL/OGR)에 대한 지원 추가

  • 고급 공간 인덱싱 구현

  • 래스터 작업에 대한 지원 추가

  • 네트워크 분석 기능 구현

  • 3D 기하학에 대한 지원 추가

  • 성능 최적화 구현

🤝 기여하기

여러분의 참여를 환영합니다! 다음과 같은 방법으로 도움을 주세요.

  1. 저장소를 포크하세요

  2. 기능 브랜치를 생성합니다( git checkout -b feature/AmazingFeature )

  3. 변경 사항을 커밋합니다( git commit -m 'Add some AmazingFeature' )

  4. 브랜치에 푸시( git push origin feature/AmazingFeature )

  5. 풀 리퀘스트 열기

PR 설명에 문제와 해결책을 명확하게 설명해 주세요. 해당되는 경우 관련 이슈 번호를 포함하세요.

📄 라이센스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

🔗 관련 프로젝트

📞 지원

지원이 필요하면 GitHub 저장소에서 이슈를 열어주세요.

🏆 배지

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/mahdin75/gis-mcp'

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