GeoServer MCP Server

by mahdin75
Verified
MIT License
2
  • Linux
  • Apple

GeoServer MCP サーバー

大規模言語モデル (LLM) を GeoServer REST API に接続し、AI アシスタントが地理空間データおよびサービスと対話できるようにするモデル コンテキスト プロトコル (MCP) サーバー実装。

🚀 機能

  • 🔍 GeoServer のワークスペース、レイヤー、スタイルをクエリして操作する
  • 🗺️ ベクターデータに対して空間クエリを実行する
  • 🎨 マップの視覚化を生成する
  • 🌐 OGC準拠のWebサービス(WMS、WFS)にアクセスする

📋 前提条件

  • Python 3.10以上
  • REST API を有効にして GeoServer インスタンスを実行する
  • MCP 互換クライアント (Claude Desktop など)
  • geoserver-restパッケージ

🛠️ インストール

  1. パッケージをインストールします。
pip install -e .
  1. GeoServer 接続を構成します。

Linux/Mac:

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

Windows 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 クライアントではワークスペースは次のようになります。

スクリーンショットには、GeoServerインスタンスで利用可能な実際のワークスペース(mahdi、demo-workspace、cite、tiger、nurc、sde、it.geosolutions、topp、sf)が表示されています。これらのワークスペースは、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 ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

🔗 関連プロジェクト

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