GeoServer MCP Server

by mahdin75
Verified
MIT License
2
  • Linux
  • Apple

지오서버 MCP 서버

대규모 언어 모델(LLM)을 GeoServer REST API에 연결하여 AI 도우미가 공간 데이터 및 서비스와 상호 작용할 수 있도록 하는 MCP(모델 컨텍스트 프로토콜) 서버 구현입니다.

🚀 특징

  • 🔍 GeoServer 작업 공간, 레이어 및 스타일 쿼리 및 조작
  • 🗺️ 벡터 데이터에 대한 공간 쿼리 실행
  • 🎨 지도 시각화 생성
  • 🌐 OGC 호환 웹 서비스(WMS, WFS)에 접속하세요

📋 필수 조건

  • 파이썬 3.10+
  • REST API가 활성화된 GeoServer 인스턴스 실행
  • MCP 호환 클라이언트(Claude Desktop과 유사)
  • geoserver-rest 패키지

🛠️ 설치

  1. 패키지를 설치하세요:

지엑스피1

  1. GeoServer 연결 구성:

리눅스/맥:

export GEOSERVER_URL="http://localhost:8080/geoserver" export GEOSERVER_USER="admin" export GEOSERVER_PASSWORD="geoserver"

윈도우 PowerShell:

$env:GEOSERVER_URL="http://localhost:8080/geoserver" $env:GEOSERVER_USER="admin" $env:GEOSERVER_PASSWORD="geoserver"
  1. 서버를 시작합니다:
geoserver-mcp-server

🔧 구성

명령줄 인수

geoserver-mcp-server --url http://localhost:8080/geoserver --user admin --password geoserver --debug

MCP 클라이언트 통합

클로드 데스크탑

claude_desktop_config.json 편집합니다:

"mcpServers": { "geoserver-mcp-server": { "command": "geoserver-mcp-server", "args": [ "--url", "http://localhost:8080/geoserver", "--user", "admin", "--password", "geoserver" ] } }

커서

.cursor/mcp.json 생성합니다.

{ "mcpServers": { "geoserver-mcp-server": { "command": "geoserver-mcp-server", "args": [ "--url", "http://localhost:8080/geoserver", "--user", "admin", "--password", "geoserver" ] } } }

🛠️ 사용 가능한 도구

카탈로그 관리

  • list_workspaces - 사용 가능한 작업 공간 가져오기
  • create_workspace - 새 작업 공간 만들기
  • get_layer_info - 자세한 레이어 메타데이터 가져오기
  • list_layers - 작업 공간의 레이어 나열
  • create_layer - 새 레이어를 만듭니다
  • delete_resource - 리소스 제거

데이터 운영

  • query_features - 벡터 데이터에 CQL 쿼리 실행

심상

  • generate_map - 스타일이 적용된 맵 이미지 생성
  • create_style - 새로운 SLD 스타일 정의

📚 사용 예시

작업 공간 나열

Tool: list_workspaces Parameters: {} Response: ["default", "demo", "topp", "tiger", "sf"]

MCP 클라이언트에 작업 공간이 표시되는 방식은 다음과 같습니다.

스크린샷은 Mahdi, demo-workspace, cite, tiger, nurc, sde, it.geosolutions, topp, sf 등 GeoServer 인스턴스에서 사용 가능한 실제 작업 공간을 보여줍니다. 이러한 작업 공간은 GeoServer 리소스를 구성하는 컨테이너 역할을 합니다.

레이어 정보 가져오기

Tool: get_layer_info Parameters: { "workspace": "topp", "layer": "states" }

쿼리 기능

Tool: query_features Parameters: { "workspace": "topp", "layer": "states", "filter": "PERSONS > 10000000", "properties": ["STATE_NAME", "PERSONS"] }

지도 생성

Tool: generate_map Parameters: { "layers": ["topp:states"], "styles": ["population"], "bbox": [-124.73, 24.96, -66.97, 49.37], "width": 800, "height": 600, "format": "png" }

🔮 계획된 기능

  • 커버리지 및 래스터 데이터 관리
  • 보안 및 접근 제어
  • 고급 스타일링 기능
  • WPS 처리 작업
  • GeoWebCache 통합

🤝 기여하기

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

📄 라이센스

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

🔗 관련 프로젝트

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

대규모 언어 모델을 GeoServer REST API에 연결하는 모델 컨텍스트 프로토콜 서버로, AI 도우미가 자연어를 통해 지리 공간 데이터를 쿼리하고 조작할 수 있도록 합니다.

  1. 🚀 Features
    1. 📋 Prerequisites
      1. 🛠️ Installation
        1. 🔧 Configuration
          1. Command-line Arguments
          2. MCP Client Integration
        2. 🛠️ Available Tools
          1. Catalog Management
          2. Data Operations
          3. Visualization
        3. 📚 Example Usage
          1. List Workspaces
          2. Get Layer Information
          3. Query Features
          4. Generate Map
        4. 🔮 Planned Features
          1. 🤝 Contributing
            1. 📄 License
              1. 🔗 Related Projects
                ID: dcvyllecj0