GeoServer MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A Model Context Protocol (MCP) server implementation that connects Large Language Models (LLMs) to the GeoServer REST API, enabling AI assistants to interact with geospatial data and services.
> Version 0.5.0 (Beta) is under active development and will be released shortly. We are open to contributions and welcome developers to join us in building this project.
🎥 Demo
📋 Table of Contents
- Features
- Deployment Options
- Prerequisites
- Installation
- Docker Installation
- pip Installation
- Development Installation
- File Storage and --storage Usage
- Available Tools
- Resource Endpoints
- Workspace Management
- Datastore & Coveragestore Management
- Layer Management
- Layer Group Management
- User & User Group Management
- Feature Type & Attribute Management
- Style Management
- System & Service Operations
- Style XML Utilities
- Client Development
- List Workspaces
- Get Layer Information
- Query Features
- Generate Map
- Planned Features
- Contributing
- License
- Related Projects
- Support
- Badges
🚀 Features
- 🔍 Query and manipulate GeoServer workspaces, layers, and styles
- 🗺️ Execute spatial queries on vector data
- 🎨 Generate map visualizations
- 🌐 Access OGC-compliant web services (WMS, WFS)
- 🛠️ Easy integration with MCP-compatible clients
🚀 Deployment Options
GeoServer MCP can run in two ways. They share the same product idea (MCP tools over GeoServer) but are **separate artifacts**. The Python package is unchanged.
Python MCP Server
Run GeoServer MCP separately (pip, Docker, or Smithery). The process speaks MCP to the agent and calls the GeoServer REST API. This is the original, currently published deployment.
See Installation below.
GeoServer Extension
Install the GeoServer MCP Extension directly into GeoServer and expose a remote MCP endpoint at /geoserver/mcp. No Python sidecar is required. Targets GeoServer **2.28.x**.
See extension/README.md for architecture, installation, configuration, security, and client examples.
📋 Prerequisites
- Python 3.10 or higher
- Running GeoServer instance with REST API enabled
- MCP-compatible client (like Claude Desktop or Cursor)
- Internet connection for package installation
🛠️ Installation
Choose the installation method that best suits your needs:
Installing via Smithery
To install GeoServer MCP Server for Claude Desktop automatically via Smithery:
🛠️ Installation (Docker)
The Docker installation is the quickest and most isolated way to run the GeoServer MCP server. It's ideal for:
- Quick testing and evaluation
- Production deployments
- Environments where you want to avoid Python dependencies
- Consistent deployment across different systems
1. Run geoserver-mcp:
2. Configure the clients:
If you are using Claude Desktop, edit claude_desktop_config.json
If you are using Cursor, Create .cursor/mcp.json
🛠️ Installation (pip)
The pip installation is recommended for most users who want to run the server directly on their system. This method is best for:
- Regular users who want to run the server locally
- Systems where you have Python 3.10+ installed
- Users who want to customize the server configuration
- Development and testing purposes
1. Install uv package manager.
2. Create the Virtual Environment (Python 3.10+):
**Linux/Mac:**
**Windows PowerShell:**
3. Install the package using pip:
4. Configure GeoServer connection:
**Linux/Mac:**
**Windows PowerShell:**
5. Start the server:
If you are going to use Claude desktop you don't need this step. For cursor or your own custom client you should run the following code.
**Linux:**
or
**Windows PowerShell:**
or
6. Configure Clients:
If you are using Claude Desktop, edit claude_desktop_config.json
If you are using Cursor, Create .cursor/mcp.json
**Windows:**
**Linux:**
🛠️ Development installation
The development installation is designed for contributors and developers who want to modify the codebase. This method is suitable for:
- Developers contributing to the project
- Users who need to modify the source code