GeoServer MCP サーバー
バージョン0.4.0(アルファ版)は現在開発中で、まもなくリリースされます。皆様からの貢献を歓迎しており、このプロジェクトの構築にご参加いただける開発者を歓迎いたします。
🎥 デモ
📋 目次
🚀 機能
- 🔍 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
を作成します。
ウィンドウズ:
リナックス:
🛠️ 利用可能なツール
🛠️ ワークスペースとレイヤーの管理
道具 | 説明 |
---|---|
list_workspaces | 利用可能なワークスペースを取得する |
create_workspace | 新しいワークスペースを作成する |
get_layer_info | 詳細なレイヤーメタデータを取得する |
list_layers | ワークスペース内のレイヤーを一覧表示する |
create_layer | 新しいレイヤーを作成する |
delete_resource | リソースを削除する |
🛠️ データ操作
道具 | 説明 |
---|---|
query_features | ベクターデータに対してCQLクエリを実行する |
update_features | フィーチャ属性を変更する |
delete_features | 基準に基づいて機能を削除する |
🛠️ 視覚化
道具 | 説明 |
---|---|
generate_map | スタイル設定された地図画像を作成する |
create_style | 新しいSLDスタイルを定義する |
apply_style | 既存のスタイルをレイヤーに適用する |
🛠️ クライアント開発
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 クライアント
📞 サポート
サポートが必要な場合は、問題を報告してください
🏆 バッジ
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
大規模言語モデルを GeoServer REST API に接続し、AI アシスタントが自然言語を通じて地理空間データを照会および操作できるようにするモデル コンテキスト プロトコル サーバー。
Related Resources
Related MCP Servers
- -securityAlicense-qualityA server that enables Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the Model Context Protocol.Last updated -1,641136TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that provides Google Maps API integration, allowing users to search locations, get place details, geocode addresses, calculate distances, obtain directions, and retrieve elevation data through LLM processing capabilities.Last updated -798363TypeScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables large language models to interact with Apache Superset databases through REST API, supporting database queries, table lookups, field information retrieval, and SQL execution.Last updated -44TypeScript
- AsecurityAlicenseAqualityA customizable Model Context Protocol server implementation that enables AI models to interact with external tools including weather queries, Google search, and camera control functionality.Last updated -113PythonApache 2.0