GeoServer MCP サーバー
バージョン0.4.0(アルファ版)は現在開発中で、まもなくリリースされます。皆様からの貢献を歓迎しており、このプロジェクトの構築にご参加いただける開発者を歓迎いたします。
🎥 デモ
Related MCP server: MCP Google Map Server
📋 目次
🚀 機能
🔍 GeoServer のワークスペース、レイヤー、スタイルをクエリして操作する
🗺️ ベクターデータに対して空間クエリを実行する
🎨 マップの視覚化を生成する
🌐 OGC準拠のWebサービス(WMS、WFS)にアクセスする
🛠️ MCP 対応クライアントとの簡単な統合
📋 前提条件
Python 3.10以上
REST API を有効にして GeoServer インスタンスを実行する
MCP 互換クライアント (Claude Desktop や Cursor など)
パッケージインストールのためのインターネット接続
🛠️ インストール
ニーズに最適なインストール方法を選択してください。
🛠️ インストール (Docker)
Dockerインストールは、GeoServer MCPサーバーを実行するための最も迅速で隔離された方法です。以下の用途に最適です。
迅速なテストと評価
本番環境への導入
Pythonへの依存を避けたい環境
異なるシステム間での一貫した展開
geoserver-mcp を実行します:
クライアントを構成します。
Claude Desktopを使用している場合は、 claude_desktop_config.jsonを編集します。Cursorを使用している場合は、 .cursor/mcp.jsonを作成します。
🛠️ インストール (pip)
pipによるインストールは、システム上で直接サーバーを実行したいほとんどのユーザーに推奨されます。この方法は以下の場合に最適です。
ローカルでサーバーを実行したい一般ユーザー
Python 3.10以降がインストールされているシステム
サーバー構成をカスタマイズしたいユーザー
開発およびテスト目的
uv パッケージ マネージャーをインストールします。
仮想環境を作成する (Python 3.10+):
Linux/Mac:
Windows PowerShell:
pip を使用してパッケージをインストールします。
GeoServer 接続を構成します。
Linux/Mac:
Windows PowerShell:
サーバーを起動します。
Claudeデスクトップを使用する場合は、この手順は不要です。カーソルまたは独自のカスタムクライアントを使用する場合は、次のコードを実行してください。
リナックス:
または
Windows PowerShell:
または
クライアントを構成する:
Claude Desktopを使用している場合は、 claude_desktop_config.jsonを編集します。Cursorを使用している場合は、 .cursor/mcp.jsonを作成します。
ウィンドウズ:
リナックス:
🛠️ 開発インストール
開発インストールは、コードベースを変更したい貢献者や開発者向けに設計されています。この方法は以下の場合に適しています。
プロジェクトに貢献する開発者
ソースコードを変更する必要があるユーザー
新機能のテスト
デバッグと開発目的
uv パッケージ マネージャーをインストールします。
仮想環境を作成する (Python 3.10+):
pip を使用してパッケージをインストールします。
GeoServer 接続を構成します。
Linux/Mac:
Windows PowerShell:
サーバーを起動します。
Claudeデスクトップを使用する場合は、この手順は不要です。カーソルまたは独自のカスタムクライアントを使用する場合は、次のコードを実行してください。
リナックス:
または
Windows PowerShell:
または
クライアントを構成する:
Claude Desktopを使用している場合は、 claude_desktop_config.jsonを編集します。Cursorを使用している場合は、 .cursor/mcp.jsonを作成します。
ウィンドウズ:
リナックス:
🛠️ 利用可能なツール
🛠️ ワークスペースとレイヤーの管理
道具 | 説明 |
| 利用可能なワークスペースを取得する |
| 新しいワークスペースを作成する |
| 詳細なレイヤーメタデータを取得する |
| ワークスペース内のレイヤーを一覧表示する |
| 新しいレイヤーを作成する |
| リソースを削除する |
🛠️ データ操作
道具 | 説明 |
| ベクターデータに対してCQLクエリを実行する |
| フィーチャ属性を変更する |
| 基準に基づいて機能を削除する |
🛠️ 視覚化
道具 | 説明 |
| スタイル設定された地図画像を作成する |
| 新しいSLDスタイルを定義する |
| 既存のスタイルをレイヤーに適用する |
🛠️ クライアント開発
GeoServer MCPサーバーと連携する独自のクライアントを開発する予定の場合は、 examples/client.pyにあるクライアント実装例を参考にしてください。この例では、以下の点が示されています。
MCPサーバーとの接続を確立する方法
リクエストの送信方法とレスポンスの処理方法
基本的なエラー処理と接続管理
さまざまなツールと操作の使用例
サンプル クライアントは、プロトコルを理解し、独自のクライアント アプリケーションを実装するための良い出発点となります。
また、使用例は次のとおりです。
ワークスペースの一覧
レイヤー情報を取得する
クエリ機能
マップを生成
🔮 計画されている機能
[ ] カバレッジとラスターデータの管理
[ ] セキュリティとアクセス制御
[ ] 高度なスタイリング機能
[ ] WPS処理操作
[ ] GeoWebCache統合
🤝 貢献する
皆様のご寄付をお待ちしております!ご協力いただける方法は以下の通りです。
リポジトリをフォークする
機能ブランチを作成する (
git checkout -b feature/AmazingFeature)変更をコミットします(
git commit -m 'Add some AmazingFeature')ブランチにプッシュする (
git push origin feature/AmazingFeature)プルリクエストを開く
PRの説明には、問題と解決策を明確に記載してください。該当する場合は、関連する問題番号も含めてください。
📄 ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
🔗 関連プロジェクト
モデルコンテキストプロトコル- MCPのコア実装
GeoServer REST API - 公式GeoServer RESTドキュメント
GeoServer REST Python クライアント- GeoServer REST API 用の Python クライアント
📞 サポート
サポートが必要な場合は、問題を報告してください